home *** CD-ROM | disk | FTP | other *** search
/ Over 1,000 Windows 95 Programs / Over 1000 Windows 95 Programs (Microforum) (Disc 1).iso / 0095 / i-m.txt < prev    next >
Text File  |  1997-03-24  |  258KB  |  5,135 lines

  1.  
  2.  
  3.  
  4.  
  5.                   I N T E G R I T Y     M A S T E R (tm)
  6.  
  7.  
  8.                              Version  3.11
  9.  
  10.  
  11.       An easy to use, data integrity and anti-virus program which also
  12.        provides PC security, change control and disk error detection.
  13.  
  14.  
  15.  
  16.              Users Guide plus Data Integrity and Virus Guide
  17.  
  18.              ________________________________________________
  19.  
  20.  
  21.                 Copyright 1990 - 1997 by Wolfgang Stiller
  22.                            All rights reserved
  23.                            ___________________
  24.  
  25.                             Stiller Research
  26.                            1265 Big Valley Dr.
  27.                      Colorado Springs, CO 80919-1014
  28.                                  U.S.A.
  29.  
  30.        Electronic mail to:
  31.  
  32.                 CompuServe: 74777,3004
  33.                 Internet, Bitnet, etc.: support@stiller.com
  34.                 Uunet: uunet!support@stiller.com
  35.  
  36.    Integrity Master (tm)              -  2  -                 Version 3.11
  37.  
  38.     Fifth Edition May 1996 -- updated February 1997
  39.     Copyright 1990-1997 Stiller Research.  All Rights reserved.
  40.  
  41.     The following paragraph does not apply where such provisions are
  42.     inconsistent with law:
  43.  
  44.     Stiller Research provides this document "AS IS" without warranty of
  45.     any kind, either express or implied, including, but not limited to the
  46.     warranties of merchantability or fitness for a particular purpose.
  47.  
  48.     This document may include technical inaccuracies or typographical
  49.     errors. We continually update and correct this document with the
  50.     latest available information.
  51.  
  52.     Note to U.S. Government users:  Use, duplication, or disclosure by
  53.     the U.S. Government of the computer software and documentation in
  54.     this package shall be subject to the restricted rights applicable to
  55.     commercial computer software as set forth in subdivision (b)(3)(ii) of
  56.     Rights in Technical Data and Computer Software clause at 253.117-
  57.     7013 (DFARS 53.117-7013).  The manufacturer is  Stiller Research,
  58.     1265 Big Valley Dr., Colorado Springs, CO 80919.
  59.  
  60.     Integrity Master and Integrity Advisor are trademarks of Stiller
  61.     Research.  Microsoft, Windows and MS/DOS are trademarks of
  62.     Microsoft corporation.  IBM and OS/2 are trademarks of
  63.     International Business Machines Corporation. Vines is a trademark of
  64.     BANYAN Inc.  NetWare is a trademark of Novell Inc.  Unix is a
  65.     trademark of AT&T. Sidekick is a trademark of Borland
  66.     International.
  67.  
  68.  
  69.    Integrity Master (tm)              -  3  -                 Version 3.11
  70.  
  71.  
  72.      Use of Integrity Master (tm) (also known as IM) requires acceptance
  73.      of the following license terms and warranty disclaimer.
  74.  
  75.  
  76.      L I C E N S E    T E R M S
  77.  
  78.      TO USE INTEGRITY MASTER, YOU MUST AGREE TO AND UNDERSTAND THE
  79.      FOLLOWING LICENSE TERMS AND WARRANTY DISCLAIMER, OTHERWISE DO NOT
  80.      USE THIS PROGRAM.
  81.  
  82.      Each PC protected by Integrity Master must have its own license.
  83.      To use Integrity Master on more than one PC, you must license extra
  84.      copies.
  85.  
  86.  
  87.      W A R R A N T Y    D I S C L A I M E R:
  88.  
  89.      INTEGRITY MASTER AND ALL ASSOCIATED PROGRAMS ARE LICENSED "AS-IS".
  90.      STILLER RESEARCH AND WOLFGANG STILLER MAKE NO WARRANTIES, EITHER
  91.      EXPRESSED OR IMPLIED, WITH RESPECT TO THESE PROGRAMS, THEIR
  92.      QUALITY, PERFORMANCE, MERCHANTABILITY, OR FITNESS FOR ANY
  93.      PARTICULAR PURPOSE. IN PARTICULAR,  INTEGRITY MASTER IS NOT
  94.      GUARANTEED TO PREVENT OR DETECT DAMAGE TO YOUR DATA OR PROGRAMS. IN
  95.      NO EVENT SHALL STILLER RESEARCH OR WOLFGANG STILLER BE LIABLE  FOR
  96.      ANY CLAIMS FOR LOST PROFITS OR ANY DAMAGE, INCLUDING BUT NOT
  97.      LIMITED TO SPECIAL, INCIDENTAL, CONSEQUENTIAL OR OTHER DAMAGE.
  98.      SOME STATES DO NOT ALLOW THE  EXCLUSION OR LIMITATION OF INCIDENTAL
  99.      OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION OR EXCLUSION MAY
  100.      NOT APPLY TO YOU.
  101.  
  102.      IF YOU USE INTEGRITY MASTER (IM), YOU ASSUME EXCLUSIVE
  103.      RESPONSIBILITY AND LIABILITY FOR ANY LOSS OR DAMAGE DIRECTLY OR
  104.      INDIRECTLY ARISING OUT OF  THE USE OF THE PROGRAM.
  105.  
  106.      IN NO CASE SHALL STILLER RESEARCH'S OR WOLFGANG STILLER'S LIABILITY
  107.      EXCEED THE LICENSE FEES PAID FOR THE RIGHT TO USE THE LICENSED
  108.      SOFTWARE.
  109.  
  110.      THE LICENSE AGREEMENT AND WARRANTY DISCLAIMER SHALL BE CONSTRUED,
  111.      INTERPRETED AND GOVERNED BY THE LAWS OF THE STATE OF COLORADO.
  112.  
  113.  
  114.  
  115.  
  116.    Integrity Master (tm)              -  4  -                 Version 3.11
  117.  
  118.  
  119.  
  120.        T A B L E    O F    C O N T E N T S
  121.  
  122.        PART ONE - Integrity Master (tm) Users Guide
  123.  
  124.           License and Warranty Terms ........................  3
  125.  
  126.          CHAPTER ONE - WHY INTEGRITY MASTER
  127.            Welcome! ..................................... 7
  128.            Don't Read This .............................. 7
  129.            Do Read This ................................. 7
  130.            Why the Users Guide .......................... 8
  131.            What Can Integrity Master Do? ................ 8
  132.            How Does Integrity Master Do These Things?.... 9
  133.            What Makes Integrity Master Special?.......... 9
  134.            Requirements and Limitations ................ 10
  135.  
  136.          CHAPTER TWO - INSTALLING INTEGRITY MASTER
  137.            Special Quick Install........................ 11
  138.            Full Installation............................ 11
  139.            Vital Files ................................. 12
  140.            Screen Colors ............................... 13
  141.            Using Integrity Master Menus................. 14
  142.  
  143.          CHAPTER THREE - RUNNING INTEGRITY MASTER
  144.            Integrity Master Screen Contents ............ 15
  145.            The Initialize Menu ......................... 15
  146.            Initializing Integrity Data.................. 15
  147.            What Is Integrity Data? ..................... 16
  148.            The Check Menu .............................. 16
  149.                CMOS Memory.............................. 18
  150.            The Report File ............................. 20
  151.            System Sectors .............................. 21
  152.               Reloading ................................ 21
  153.               Fixing ................................... 22
  154.            The Commands Menu ........................... 24
  155.               Disk Change and Directory Change ......... 24
  156.               Quit - Exit Integrity Master ............. 24
  157.               Uninstall - Delete Integrity Data ........ 25
  158.            The Statistics Summary ...................... 25
  159.            Virus Checking Procedure .................... 26
  160.               Scanning for Viruses ..................... 27
  161.               Quick scanning ........................... 29
  162.               Scanning uploads ......................... 29
  163.               Detecting Viruses ........................ 30
  164.               Detecting Unknown (new) viruses .......... 30
  165.               The Integrity Master virus report ........ 31
  166.               False Alarms ............................. 32
  167.               Destroying Viruses ....................... 33
  168.               Data Corruption .......................... 33
  169.            Integrity Master and Disk Problems  ......... 34
  170.            Integrity Master for PC Security ............ 36
  171.            Integrity Master for Change Control ......... 37
  172.            Integrity Master for Laptop Configuration.... 37
  173.  
  174.    Integrity Master (tm)              -  5  -                 Version 3.11
  175.  
  176.            COMMAND LINE (BATCH) EXECUTION .............. 38
  177.               Syntax ................................... 38
  178.               Error Levels  ............................ 40
  179.            Using IMCHECK ............................... 40
  180.            Add-on programs.............................. 41
  181.               RunMaybe - Conditional execution.......... 41
  182.            Other Operating Systems ......................45
  183.               Microsoft Windows and OS/2................ 45
  184.               Networks ................................. 46
  185.               Using IM on a Network .................... 46
  186.  
  187.          CHAPTER FOUR - CUSTOMIZING
  188.            The Parameter (Options) File ................ 49
  189.            Options Menu ................................ 50
  190.            Options in SETUPIM .......................... 56
  191.            Integrity Data Options ...................... 58
  192.            Toggle CMOS Check Type ...................... 58
  193.            Home Directory Options ...................... 58
  194.            Updating Your Hardware Configuration ........ 59
  195.            The Advanced Option Menu..................... 59
  196.  
  197.          CHAPTER FIVE -  ERRORS
  198.            Solving Problems ............................ 63
  199.            Answers to Common Questions ................. 63
  200.  
  201.      PART TWO - DATA INTEGRITY AND VIRUSES
  202.  
  203.          CHAPTER ONE - THREATS TO YOUR DATA
  204.            Introduction - Viruses Get All The Glory .... 67
  205.            Hardware and Power Faults ................... 68
  206.            Finger Checks ............................... 68
  207.            Malicious or Careless Damage................. 68
  208.            Software Problems ........................... 69
  209.            Software Attacks ............................ 69
  210.                Logic Bombs ............................. 69
  211.                Trojans ................................. 70
  212.                Worms ................................... 70
  213.                Viruses ................................. 70
  214.                   General Virus Behavior................ 71
  215.                   System Sector Viruses................. 72
  216.                      Boot Sectors ...................... 72
  217.                      Partition Sectors ................. 73
  218.                   File Viruses ......................... 74
  219.                      Macro Viruses ..................... 75
  220.                      Polymorphic Viruses................ 79
  221.                      Virus Toolkits .................... 80 IN PRINTED BOOK ONLY
  222.            How Many Viruses Are There?.................. 80
  223.  
  224.          CHAPTER TWO - PROTECTION FOR YOUR PC
  225.            Hardware Protection ......................... 83
  226.            "Fixing" your disk .......................... 83
  227.            Goof Protection  ............................ 83
  228.            Intrusion Protection......................... 84
  229.            Virus Defenses  ............................. 85
  230.               Scanners ................................. 85
  231.               Disinfectors ............................. 86
  232.               Interceptors ............................. 87
  233.               Inoculators .............................. 87
  234.               Integrity Checkers ....................... 88
  235.               Prevention................................ 90
  236.  
  237.    Integrity Master (tm)              -  6  -                 Version 3.11
  238.  
  239.  
  240.  
  241.  
  242.          CHAPTER THREE - VIRUS MYTHS
  243.            Mythical Sources ............................ 91
  244.            Quick and Easy Cures ........................ 92
  245.            Silly Tricks ................................ 92
  246.            Retail Software Only? ....................... 92
  247.            Write-Protecting Your Hard Disk ............. 93
  248.            Safe Computing (Safe Hex?)................... 94
  249.  
  250.          CHAPTER FOUR - VIRUS REALITIES
  251.            The ONLY Real Source of Viruses ............. 95
  252.            Shareware Is as Safe or Safer ............... 95
  253.            Few Virus Free Programs ..................... 95
  254.            Write-Protecting Floppies ................... 96
  255.            Beware the CE and the Demo! ................. 96
  256.  
  257.          CHAPTER FIVE - WHAT TO DO - SOME SUGGESTIONS
  258.            Action is Vital - Now! ...................... 97
  259.            Backup Policy ............................... 98
  260.            Integrity Checking Policy ................... 98
  261.            Run CHKDSK .................................. 99
  262.            Determining Causes of Corruption ............ 99
  263.            Education ................................... 99
  264.               Signs of Software Problems ...............100
  265.               Signs of Viruses .........................100
  266.            Policy and Routine ..........................101
  267.            Networks and Viruses ........................101
  268.            Guidelines for Using Anti-virus Software.....102
  269.  
  270.          CHAPTER SIX - SAFELY USING COMPRESSION AND CACHE   IN PRINTED BOOK ONLY
  271.            Safely Getting Maximum Benefit ..............103 IN PRINTED BOOK ONLY
  272.  
  273.          CHAPTER SEVEN- HANDLING A VIRUS ATTACK
  274.            Report the Attack ...........................109
  275.            Play Detective...............................109
  276.            Clean House (Steps to Remove the Virus)......110
  277.            Guard the House .............................110
  278.  
  279.          CHAPTER EIGHT- SPECIAL ANTI-VIRUS TECHNIQUES       IN PRINTED BOOK ONLY
  280.            Using Common Utilities Against Viruses ......111 IN PRINTED BOOK ONLY
  281.            Guidelines for Consultants ..................113 IN PRINTED BOOK ONLY
  282.            Using Advanced Anti-virus Tools .............116 IN PRINTED BOOK ONLY
  283.  
  284.          CHAPTER NINE- THE LATEST INFORMATION ON VIRUSES    IN PRINTED BOOK ONLY
  285.            Why Do People Write Viruses?.................119 IN PRINTED BOOK ONLY
  286.            The Virus Underground .......................120 IN PRINTED BOOK ONLY
  287.            East Block Viruses ..........................121 IN PRINTED BOOK ONLY
  288.            How Viruses Mutate ..........................122 IN PRINTED BOOK ONLY
  289.            Descriptions of Common Viruses ..............123 IN PRINTED BOOK ONLY
  290.  
  291.     Chapter Ten - About Stiller Research and the Author 139 IN PRINTED BOOK ONLY
  292.            The author at work (graphic) ................140 IN PRINTED BOOK ONLY
  293.  
  294.      INDEX .............................................141 IN PRINTED BOOK
  295.  
  296.  
  297.  
  298.    Integrity Master (tm)              -  7  -                 Version 3.11
  299.  
  300.  
  301.  
  302.      PART ONE - INTEGRITY MASTER(tm) USERS GUIDE
  303.  
  304.      CHAPTER 1 - INTRODUCTION
  305.  
  306.      ____________________________________________________________________
  307.  
  308.  
  309.  
  310.      WELCOME!
  311.  
  312.      Welcome to the family of Integrity Master(tm) users!  Integrity
  313.      Master (also known as IM) is the fastest, most powerful data
  314.      integrity and anti-virus software available for any price.  I hope
  315.      that you'll find Integrity Master an indispensable part of your PC
  316.      tool kit.  From now on, you'll be back in control of all the data
  317.      on your PC.
  318.  
  319.  
  320.      DON'T READ THIS!
  321.  
  322.      You do not need to read the Users Guide before installing or using
  323.      Integrity Master.  Most people should only rarely need to read the
  324.      Users Guide.  If you're reading this to learn how to use Integrity
  325.      Master, you're here for the wrong reason.  Just follow the
  326.      directions on the diskette or on the cover letter.  The tutorial in
  327.      SetupIM should tell you all you need to know to get started.  For
  328.      additional help when using Integrity Master (IM), just press F1 and
  329.      select the index.  The odds are, what you need to know is there.
  330.  
  331.      DO READ THIS!
  332.  
  333.      Please do read PART TWO - Data Integrity and Viruses of this book.
  334.      It explains the threats to the integrity of your PC. It also
  335.      explains viruses in detail so that you can understand how to fully
  336.      protect yourself using Integrity Master. Also please do read the
  337.      section on detecting "Unknown viruses" on page 31.
  338.  
  339.      Please do read the README.TXT file which comes with your copy of
  340.      Integrity Master.  It contains information on anything that might
  341.      have changed since we printed this manual.  You can read this file
  342.      by using your favorite file viewer or the IMVIEW program included
  343.      with Integrity Master.  The command "IMVIEW README.TXT" will let
  344.      you browse through this file or "IMPRINT README.TXT" will print it.
  345.      If you have any questions about IM or encounter any problems,
  346.      please read the QUESTION.TXT file.
  347.  
  348.  
  349.    Integrity Master (tm)              -  8  -                 Version 3.11
  350.  
  351.  
  352.      WHY READ THE USERS GUIDE (Part One) ?
  353.  
  354.      I've written this users guide for three reasons:
  355.  
  356.      1) To provide more information on how to get the greatest benefit
  357.        out of Integrity Master.  You'll learn how to:
  358.  
  359.        o use IM to detect totally new viruses
  360.  
  361.        o tell if file damage is likely due to a hardware problem, or
  362.          possibly a virus or a trojan
  363.  
  364.        o use IM to protect your PC from unauthorized tampering, etc.
  365.  
  366.      2) To explain certain aspects of Integrity Master in more detail
  367.         and in different terms than the explanation available from IM's
  368.         internal help screens.
  369.  
  370.      3) To satisfy people who prefer to read things on paper.  If you
  371.         prefer to read things on paper, then you're here for the right
  372.         reason. Although, I'll bet the tutorial in SetupIM will surprise
  373.         you.  (Give it a try!)
  374.  
  375.  
  376.      What Can Integrity Master Do?
  377.  
  378.      1) Detect and remove viruses.  IM will even detect viruses that are
  379.         not known to exist at this point.  For known viruses, IM will
  380.         recognize them by name and describe what they do.
  381.  
  382.      2) Detect possible file corruption due to hardware or software
  383.         problems.   This type of file damage is apparently at least 100
  384.         times more likely than virus infection, yet it usually goes
  385.         undetected.
  386.  
  387.      3) Supplement or replace any PC security programs you have.  IM
  388.         will inform you if anyone changed something on your PC's disk
  389.         while you were gone.
  390.  
  391.      4) You just compressed your disk or you restored your files from a
  392.         backup. Are all the files really OK?   IM will tell you.
  393.  
  394.      5) You wanted to delete all your .BAK files, but you entered: "DEL
  395.         *.BAT" by mistake.  Oops!  IM will tell you exactly which files
  396.         you need to restore.
  397.  
  398.      6) You need a change management system to keep track of growth on
  399.         your hard disk.  Where is all that disk space going?  IM will
  400.         tell you.
  401.  
  402.    Integrity Master (tm)              -  9  -                 Version 3.11
  403.  
  404.  
  405.      7) You're having problems with your disk drive.  Your diagnostic
  406.         programs say all is OK . . . now.  But were some files damaged
  407.         last night?  IM tells you!
  408.  
  409.      8) Your hard disk is having problems.  DOS will not even recognize
  410.         it as a disk.  IM can reload your partition and boot sectors to
  411.         "fix" your disk!
  412.  
  413.  
  414.      How Does Integrity Master Do All These Things?
  415.  
  416.      1) It reads files as well as parts of the operating system on your
  417.         disk known as system sectors.  The first time you use IM, you
  418.         will run an "initialize" that will read your disk and calculate
  419.         cryptographic signatures for each file and system sector.  While
  420.         it's doing this, IM is also checking for signs of known viruses.
  421.  
  422.      2) This signature data, along with other information such as the
  423.         file size, is encrypted and recorded in the "integrity data"
  424.         file.  IM creates one such file for each directory on your disk.
  425.  
  426.      3) On subsequent checks, the files and system sectors are read
  427.         again and the computed integrity data is compared with the prior
  428.         values. This allows IM to determine if anything has changed,
  429.         even if the time and date stamps reveal no change.
  430.  
  431.      4) IM detects changes that a virus may make to associate itself
  432.         (companion and cluster viruses) with an existing program.
  433.  
  434.      A virus can only infect your PC by associating itself with your
  435.      programs or system sectors.  In order to do this, a virus must
  436.      change some existing data on your PC.  If nothing has changed, you
  437.      can be absolutely certain that you don't have a virus.  IM can
  438.      detect these changes if a virus tries to infect your system.
  439.  
  440.      What Makes Integrity Master Special?
  441.  
  442.      1)  Integrity Master is not just an anti-virus product but a
  443.          complete data integrity system.  Viruses are but one threat to
  444.          the integrity of your PC. With Integrity Master you have a
  445.          complete solution.
  446.  
  447.      2)  Unlike other integrity checking programs, Integrity Master
  448.          contains extensive information regarding known viruses.  If IM
  449.          recognizes part of a known virus, it will identify the specific
  450.          virus and provide specific steps to remove it (offering to do
  451.          this automatically) and check for possible damage.  If it
  452.          detects other file changes that are characteristic of a virus,
  453.          it will alert you to that fact and provide appropriate
  454.          instructions.
  455.  
  456.      3)  Unlike a virus scanner, Integrity Master allows you to detect
  457.          unknown as well as known viruses.
  458.    Integrity Master (tm)             - 10  -                 Version 3.11
  459.  
  460.      4)  Unlike anti-virus products that merely find known viruses,
  461.          Integrity Master also detects files and sectors damaged (not
  462.          just infected!) by viruses.
  463.  
  464.      5)  Integrity Master is fast!  We wrote it in 100% highly optimized
  465.          assembler language.
  466.  
  467.      6)  Integrity Master utilizes easy to use menus with lots of help.
  468.          You don't have to fully understand some of the more complex
  469.          areas of data integrity, such as system sectors, yet you can be
  470.          fully protected.
  471.  
  472.      7)  Integrity Master is the only anti-virus product that can check
  473.          and report specific CMOS changes. It will also (if needed)
  474.          reload the PC's CMOS.
  475.  
  476.      8)  IM can do ultra-fast scanning.  By running IM regularly (daily
  477.          or every-other-day) in its "quick update" mode, you can scan a
  478.          typical 1.2gb disk in 20 to 40 seconds and maintain a change
  479.          history at the same time.
  480.  
  481.      9)  Integrity Master is useful with disk diagnostics.  You can run
  482.          your normal test programs to check if your disk drive is
  483.          working OK right now, but was it working correctly at 3 PM
  484.          yesterday? Integrity Master will detect any disk errors which
  485.          caused data damage earlier.
  486.  
  487.  
  488.    INTEGRITY MASTER REQUIREMENTS AND LIMITATIONS:
  489.  
  490.      o  IM requires a PC with 310 thousand bytes of available memory and
  491.         DOS 2 or later.  (At least 390 thousand bytes are needed for
  492.         maximum speed.)
  493.  
  494.      o  Also runs under Windows 3.x, Win 95, Win NT, or OS/2.
  495.  
  496.      o  IM supports super-large disks and files.
  497.  
  498.      o  IM supports a maximum of 2621 files in a single directory.
  499.  
  500.      o  Do not use the DOS APPEND, SUBST or ASSIGN commands together
  501.         with IM.  These can cause results that are misleading if you
  502.         don't carefully consider the effects of these commands.  If you
  503.         use Disk Manager or other special software loaded in the
  504.         partition sector, be sure to read QUESTION.TXT for any special
  505.         precautions.
  506.  
  507.    Integrity Master (tm)             - 11  -                 Version 3.11
  508.  
  509.  
  510.  
  511.      CHAPTER TWO - INSTALLING INTEGRITY MASTER
  512.      ____________________________________________________________________
  513.  
  514.      Please follow the instruction on the cover letter or the diskette
  515.      label to install Integrity Master.
  516.  
  517.      If you are a Windows user, you can use the "File Manager" or
  518.      "Explorer" to double-click on the IMWIN.EXE file located in the
  519.      \IM_HOME directory. This creates the Windows IM Program group and
  520.      automatically runs SetupIM to begin the customization for your PC.
  521.      After this completes, Click on the "2nd" icon to complete the
  522.      install (If you need to rerun SetupIM, click on the "1st" Icon.)
  523.  
  524.  
  525.      SPECIAL QUICK INSTALL PROCEDURE
  526.  
  527.      Since you may be wanting to do a quick evaluation of Integrity
  528.      Master to see how it meets your needs, we offer a short cut install
  529.      procedure.  In contrast, the full install procedure is intended to
  530.      guard against unknown viruses already infecting your system or an
  531.      attack by a sophisticated user, and is not necessary for an
  532.      evaluation under normal circumstances.  The program SetupIM will
  533.      offer you the quick install.  (SetupIM runs automatically during
  534.      the install.)
  535.  
  536.      FULL INSTALLATION
  537.  
  538.  
  539.      1) Follow the directions (normally by running IMsetup) in the cover
  540.         letter to install the IM files on your hard disk and run SetupIM
  541.         (SetupIM is started automatically by IMsetup).
  542.  
  543.      2) SetupIM will guide you from there.  SetupIM will offer you a
  544.         full tutorial on using Integrity Master menus and give you an
  545.         overview of how Integrity Master works.  SetupIM will then
  546.         analyze your needs and check out your hardware configuration.
  547.         SetupIM's Integrity Advisor(tm) component will customize IM's
  548.         options so that it will work best to meet your needs.  The
  549.         Integrity Advisor(tm) will also prepare a custom designed
  550.         procedure to finish the install and a plan for day-to-day use of
  551.         IM.  In addition to displaying this plan on your screen, the
  552.         Integrity Advisor will write the plan to file IMPROC.TXT.  You
  553.         can use your favorite utility to read IMPROC.TXT or you can
  554.         enter the command:
  555.               IMVIEW IMPROC.TXT
  556.          to read it, or the command
  557.               IMPRINT IMPROC.TXT
  558.          to print the file.
  559.  
  560.    Integrity Master (tm)             - 12  -                 Version 3.11
  561.  
  562.  
  563.      IMPROC.TXT contains IMCHECK check values for IM.EXE and IMCHECK.EXE
  564.      so that you can verify that you have a good copy of these programs.
  565.  
  566.      EASY ACCESS TO INTEGRITY MASTER
  567.  
  568.      You may wish to copy *.EXE and IM.PRM into a directory on your DOS
  569.      PATH (e.g., "\DOS") to make IM convenient to run from any location
  570.      on your system.
  571.  
  572.  
  573.  
  574.      VITAL FILES
  575.  
  576.      Please check file README.TXT for a full list of files that come
  577.      with Integrity Master and what's important about each file.  To
  578.      read README.TXT, type: "IMVIEW README.TXT" and press ENTER.
  579.  
  580.      After you install Integrity Master, there will be only two files you
  581.      absolutely need to use Integrity Master:
  582.  
  583.      IM.EXE  - Integrity Master itself
  584.  
  585.      IM.PRM  - The parameter file which controls how IM works
  586.                   - This file is created by SETUPIM.EXE
  587.  
  588.      If you want to reinstall IM, or change advanced features of IM, you
  589.      will need:
  590.  
  591.      SETUPIM.EXE The setup and install program (It creates
  592.                     and updates IM.PRM)
  593.  
  594.      IM.DAT       Needed for initial installation of IM only.  This file
  595.                     contains your serial number and name.
  596.  
  597.      When you install IM, SetupIM will create these files:
  598.  
  599.      IMPROC.TXT  Instructions on how to finish installation and run IM
  600.  
  601.      IM.PRM           The parameter file (all option settings are stored
  602.                       here)
  603.  
  604.    Integrity Master (tm)             - 13  -                 Version 3.11
  605.  
  606.      SCREEN COLORS
  607.  
  608.      IM normally detects the type of video adapter you have
  609.      automatically and uses appropriate colors for your equipment.
  610.      There are two things that can confuse IM:
  611.  
  612.      1) Some programs change the DOS video mode from color to monochrome
  613.         or vice-versa.  To correct this, just enter the appropriate mode
  614.         command (e.g., "MODE CO80")
  615.  
  616.      2) Some equipment appears to have a different display than it
  617.         really has, such as an LCD display on a laptop.  (Most modern
  618.         laptops do a good job displaying colors directly or of mapping
  619.         colors into shades of gray and you won't need to do any
  620.         special.)
  621.  
  622.      If you find your display hard to read, you may want to override
  623.      IM's choice of video mode (colors).  The best way to do this is to
  624.      experiment by using the command line parameters to specify an
  625.      alternate set of colors.  Try each option and choose what looks the
  626.      most pleasing. Generally, modern Laptops will work well in color
  627.      mode.
  628.  
  629.      Both IM and SetupIM accept these command line parameters:
  630.  
  631.      /L  - For older CGA type liquid crystal displays (e.g.,
  632.            Toshiba 1000 laptops)
  633.      /M  - Forces monochrome mode
  634.      /C  - Forces color mode
  635.      /A  - Forces automatic video detection mode (default).
  636.  
  637.      Example: "IM /M" will use colors appropriate for a monochrome
  638.      display even if the display appears to be of a color display.
  639.  
  640.      Once you've found the video mode (colors) that work the best, it's
  641.      usually easiest to use SetupIM to select that video mode and save
  642.      it as your normal video mode.  From then on, IM will use this video
  643.      mode without a command line parameter.
  644.  
  645.    Integrity Master (tm)             - 14  -                 Version 3.11
  646.  
  647.  
  648.      USING INTEGRITY MASTER MENUS
  649.  
  650.      Integrity Master (IM) and SetupIM both employ an advanced menu
  651.      system.  When you first install using SetupIM, it will offer you an
  652.      extensive guided tour of how these menus work.  This is the best
  653.      way to learn how to use the menus.  Within Integrity Master, just
  654.      press F1 and select "Help using the menus" from the help menu for
  655.      assistance.
  656.  
  657.      On most menus you will see one selection shown in a different color
  658.      (or underlined) from the other selections.  The different color
  659.      (highlight) indicates that this is the chosen line.  You can use
  660.      the arrow (cursor) keys to select any of the items on the menu.
  661.      Each menu line has a single capitalized letter displayed in a
  662.      different color.  Pressing the key matching that letter will also
  663.      select that menu item.  On many menus, an extended explanation
  664.      automatically appears as you select any menu line.  After you have
  665.      chosen the appropriate menu item, you must press the ENTER key
  666.      before anything will happen.
  667.  
  668.    Integrity Master (tm)             - 15  -                 Version 3.11
  669.  
  670.  
  671.      CHAPTER THREE - RUNNING INTEGRITY MASTER(TM)
  672.      ____________________________________________________________________
  673.  
  674.  
  675.      INTEGRITY MASTER SCREEN CONTENTS
  676.  
  677.      The top part of the Integrity Master screen tells you what options
  678.      are in effect and what IM is currently doing.  The menus appear
  679.      below this.  Be sure to go through the tutorial in SetupIM to learn
  680.      how to use the menus.  When IM is busy checking your files, the
  681.      report screen pops up and replaces the lower half of the screen
  682.      including the menu area.
  683.  
  684.      The best way to get familiar with the information presented to you
  685.      on the IM screen is by pressing the F1 (help) key and selecting the
  686.      "Explanation of the display" entry.  This will give you a step by
  687.      step guided tour of IM's display.
  688.  
  689.  
  690.      INITIALIZING INTEGRITY DATA
  691.  
  692.      Before you can check your disk, you must initialize the integrity
  693.      data that describes the disk.  You can use either the command line
  694.      parameter (/IE) or the Initialize menu within IM.  Press "I" or
  695.      alt/I (hold down the ALT key and press "I") to get to the
  696.      Initialize menu.
  697.  
  698.      ┌─────────────────────────────╔══════════╗────────────────────────┐
  699.      │   Help    Options   Check   ║Initialize║    ReLoad    CoMmands  │
  700.      └────────────────────────── ╔═╝          ╚═══════════════════╗ ───┘
  701.                                  ║  Entire disk integrity         ║
  702.                                  ║  Files on current Disk         ║
  703.                                  ║  Current and Lower directories ║
  704.                                  ║  Current diRectory only        ║
  705.                                  ║  Boot sector                   ║
  706.                                  ║  Partition sector              ║
  707.                                  ║  CMOS memory                   ║
  708.                                  ║  Resident Programs and memory  ║
  709.                                  ╚════════════════════════════════╝
  710.  
  711.      From this menu, you create (initialize) the integrity data that
  712.      describes your files, CMOS memory, resident programs, and system
  713.      sectors. While IM is initializing the integrity data, it will
  714.      (unless you turned virus checking off) check for known viruses, and
  715.      check for other indications of viruses or system problems.  For the
  716.      system (boot and partition) sectors and CMOS, IM will save reload
  717.      information.  This enables you to restore your system sectors
  718.      (using the ReLoad menu) if anything should ever infect or damage
  719.      them.  IM writes the reload data to files CMOS.SRL, BOOT.SRL, and
  720.      PART.SRL for the CMOS memory, DOS boot sector, and partition sector
  721.      respectively.  Be sure to read the section in Part Two, Chapter
  722.      One, that explains why system sectors are important.
  723.  
  724.    Integrity Master (tm)             - 16  -                 Version 3.11
  725.  
  726.      When you first use IM, please select "Entire disk integrity" to
  727.      initialize the integrity data for all files and system sectors (the
  728.      boot or partition sectors) that exist on the current disk.  IM will
  729.      also create the system reload files (CMOS.SRL, BOOT.SRL, and
  730.      PART.SRL). IM will create file MEMD.SRL (MEMW.SRL if running under
  731.      Windows or MEMO.SRL under OS/2) to contain the resident program and
  732.      memory configuration.  Be sure to save a copy of these files on
  733.      diskette to help you recover when your hard disk fails.  (Not all
  734.      disks have both boot and partition sectors).
  735.  
  736.  
  737.      WHAT IS INTEGRITY DATA?
  738.  
  739.      When IM checks a file, it uses each byte of the file in a
  740.      calculation to compute cryptographic signatures for that file.  A
  741.      change to any part of a file will result in a different signature.
  742.      These signatures, along with other significant information such as
  743.      file size, are what I call integrity data.  IM writes an integrity
  744.      data file for each directory on your disk. These files can be
  745.      stored with the files that they describe or stored on separate
  746.      diskettes.
  747.  
  748.      When you first run SetupIM, it chooses, at random, a unique
  749.      algorithm to compute the cryptographic signatures, and also chooses
  750.      a unique algorithm to encrypt your integrity data files.
  751.  
  752.  
  753.      WHAT ARE CRYPTOGRAPHIC SIGNATURES?
  754.  
  755.      Just as your signature uniquely identifies you, the cryptographic
  756.      signatures serve to identify the contents of each file.  If a virus
  757.      or a hardware problem changes a file, the signature computed for
  758.      that file will be different, although the file size and time and
  759.      date stamps may be the same. A change or the rearrangement of data
  760.      in a file will result in a different signature.  When you execute
  761.      SetupIM, it will randomly select a unique algorithm for computing
  762.      the cryptographic signatures.
  763.  
  764.  
  765.  
  766.      THE CHECK MENU
  767.  
  768.      From the Check menu, you can check files or system sectors for
  769.      changes.  Use the up and down arrow keys to select the type of
  770.      checking you'd like to do. You may choose to check only specific
  771.      things on your disk, such as the system sectors or individual
  772.      files, or you can check everything on the entire disk.  IM will
  773.      report any added,  deleted, or changed files as well as any signs
  774.      of viruses or other known problems.  If integrity checking is on,
  775.      IM will read the files and check for any changes.  Use the Options
  776.      menu to control whether full integrity checking is on and the type
  777.      of files to check.  The fourth line at the top of the screen shows
  778.      the current status of integrity checking including the type of
  779.      files to be checked.  If you see: "Integrity check: On", this
  780.      indicates that full checking will be done on all files.
  781.    Integrity Master (tm)             - 17  -                 Version 3.11
  782.  
  783.      You can reach the Check menu by pressing "C" or alt/C.
  784.  
  785.      ┌─────────────────────╔═════╗─────────────────────────────────────┐
  786.      │   Help    Options   ║Check║   Initialize    ReLoad    CoMmands  │
  787.      └───── ╔══════════════╝     ╚════════════╗ ───────────────────────┘
  788.             ║  All disks                      ║
  789.             ║  Entire disk integrity          ║
  790.             ║  Files on current Disk          ║
  791.             ║  Current and Lower directories  ║
  792.             ║  Current diRectory only         ║
  793.             ║  Specific file(s)               ║
  794.             ║  Boot sector                    ║
  795.             ║  Partition sector               ║
  796.             ║  Disk for known Viruses         ║
  797.             ║  CMOS memory (FULL)             ║
  798.             ║  Resident Programs and memory   ║
  799.             ╚═════════════════════════════════╝
  800.  
  801.      Entire disk integrity
  802.  
  803.        Selecting this option and pressing the ENTER key will check any
  804.        system sectors (the boot or partition sectors) that exist on the
  805.        current disk for changes and then check all files in all
  806.        directories.
  807.  
  808.      Files on current Disk
  809.  
  810.        Selecting this option and pressing the ENTER key will check only
  811.        files on the current disk.  System sectors will not be checked.
  812.  
  813.      Current and Lower directories
  814.  
  815.        Selecting this option and pressing the ENTER key will check files
  816.        in the current directory and any files in any directories which
  817.        are defined as descendant from the current directory.  If the
  818.        current directory happens to be the root directory (e.g., C:\)
  819.        then all files on that disk will be checked since all other
  820.        directories are descendant from the root directory.  Another
  821.        example: if you're in directory \DOS, directories such as \DOS\A,
  822.        \DOS\UTILS or \DOS\A\B  will be checked in addition to \DOS.
  823.  
  824.      Current diRectory only
  825.  
  826.        Selecting this option and pressing the ENTER key will check only
  827.        files in the current directory.
  828.  
  829.      Specific file(s)
  830.  
  831.        Selecting this option and pressing the ENTER key allows you to
  832.        enter the name of a specific file to check.
  833.  
  834.      Boot sector
  835.  
  836.        Selecting this option and pressing the ENTER key will read the
  837.        DOS boot sector and check it for any changes.  Please see the
  838.        explanation of system sectors later in this guide.
  839.    Integrity Master (tm)             - 18  -                 Version 3.11
  840.  
  841.      Partition sector
  842.  
  843.        Selecting this option and pressing the ENTER key will read the
  844.        partition sector (also known as the master boot record or MBR)
  845.        and check it for any changes.  Please see the explanation of
  846.        system sectors later in this guide.
  847.  
  848.      Disk for known Viruses
  849.  
  850.        The option to check "Disk for known Viruses" is intended mostly
  851.        for quick virus scans or to do checks of all files (not just
  852.        those identified as executable files) for known viruses.  You can
  853.        do a virus scan on just the current directory, the current
  854.        directory and all lower subdirectories, or on the entire disk. If
  855.        you choose the entire disk, then the appropriate system sectors
  856.        will be checked as well as all executable files.  IM provides an
  857.        option to scan only floppy boot sectors for viruses. I suggest
  858.        you use this option to screen all your floppies if you should
  859.        ever encounter a system sector virus.  IM also provides an option
  860.        to scan all files (not just executables) for viruses. Scanning
  861.        all types of files is useful as a double check in the event that
  862.        IM detects an existing virus.  This is suggested since it's
  863.        possible that you may have a program somewhere that uses a file
  864.        with a nonstandard extension to store executable code (e.g.,
  865.        overlays).  If you are aware of a program that uses extensions
  866.        which IM does not recognize as executable, then you may wish to
  867.        use the Advanced menu in SetupIM to add this extension to the
  868.        list of extensions recognized by IM. You generally won't need the
  869.        virus scanning option except in these special cases, since IM
  870.        automatically checks for viruses during its normal processing.
  871.        You can also use the /VA, /VB, /VM, /VO, /VR, or /VL command line
  872.        parameters to perform a virus scan.
  873.  
  874.      CMOS Memory
  875.  
  876.        Integrity Master can check the CMOS memory describing the
  877.        configuration of your PC. It can check either the "FULL", the
  878.        "BASE" (the standard 64 byte AT CMOS portion) CMOS, or the "CORE"
  879.        CMOS.  "CORE" is the standard setting and checks only those parts
  880.        of CMOS that are vital to the integrity of your PC. The menu will
  881.        display whether "FULL", "BASE", or "CORE" CMOS is being checked.
  882.        You can use SetupIM to change this. Most modern PCs now have more
  883.        than the standard 64 byte base CMOS memory. IM can check your
  884.        entire CMOS.  IM ignores the "known to change" portions of your
  885.        CMOS when checking.  CMOS is used differently by each
  886.        manufacturer, but IM will diagnose the change to CMOS and report
  887.        as much information as possible regarding what has changed.  For
  888.        example, if you install a new floppy drive, you would expect the
  889.        CMOS describing the floppy setup to change. If you see that many
  890.        items in your CMOS have changed, then it's a good bet that your
  891.        battery is failing or a buggy program may have trashed your
  892.        entire CMOS.  In this case, let IM reload your CMOS for you.
  893.    Integrity Master (tm)             - 19  -                 Version 3.11
  894.  
  895.                  CMOS is the special battery powered memory that
  896.                  contains information on how your PC is configured.
  897.                  If this memory is changed, your PC may be unable
  898.                  to boot so be sure to save the CMOS.SRL file
  899.                  on a floppy.
  900.  
  901.        Generally, XT class (and earlier) PCs don't have CMOS memory.
  902.        There's usually a setup program (sometimes accessible only at
  903.        boot time) that allows you to change your PC's configuration and
  904.        thereby change the CMOS contents. If you do this, be sure to use
  905.        the CMOS option on the Initialize menu to update IM's saved copy
  906.        of your CMOS (in file CMOS.SRL).
  907.  
  908.        CMOS is powered by a battery so that its contents will stay
  909.        intact when your PC is off.  You must periodically replace this
  910.        battery. When it starts to fail, you will notice unexpected
  911.        changes to your CMOS.  After you replace the battery, use the
  912.        ReLoad menu to restore your original configuration.
  913.  
  914.        Most modern PCs now have more than the standard 64 byte base CMOS
  915.        memory. IM ignores the non-critical or "known to change" portions
  916.        of your CMOS when checking.  CMOS is used differently by each
  917.        manufacturer, but IM will diagnose the change to CMOS
  918.  
  919.        and report as much information as possible regarding what has
  920.        changed.  For example, if you install a new floppy drive, you
  921.        would expect the CMOS describing the floppy setup to change. If
  922.        you see that many items in your CMOS have changed, then it's a
  923.        good bet that your battery is failing or a buggy program may have
  924.        trashed your entire CMOS.  In this case, let IM reload your CMOS
  925.        for you.
  926.  
  927.        CMOS is not implemented the same way on all PCs. Integrity Master
  928.        follows the standard definition for the IBM PC AT which is now
  929.        extended for modern PCs. IM supports the most common
  930.        configurations, but it's possible that your PC may use portions
  931.        of your CMOS memory in a different way. Don't be alarmed if an
  932.        area of your CMOS changes (especially if you use a laptop); some
  933.        PCs use portions of CMOS for special purposes with the result
  934.        that there may be one area that normally changes.  The area that
  935.        you are most likely to see changing on your PC is what IM calls
  936.        the "OEM options' area. If IM only reports a change to only one
  937.        area, you need not be concerned--this is normal.  If your CMOS
  938.        supports a boot password for your PC, you will see a change to
  939.        CMOS each time you change your password.  When this happens, it's
  940.        best to use the Initialize menu to save a copy of the updated
  941.        CMOS with your new password.
  942.    Integrity Master (tm)             - 20  -                 Version 3.11
  943.  
  944.      Resident Programs and memory
  945.  
  946.        This option allows you to make sure that your resident programs
  947.        have not changed and that no new programs (such as
  948.        memory-resident viruses) are active on your PC. In addition to
  949.        alerting you to potential system problems, this protects you
  950.        against unknown memory-resident viruses without you needing to
  951.        boot from a diskette.  It also checks to make sure your available
  952.        memory does not show signs of a suspicious decrease. IM
  953.        accomplishes this by examining the programs and the interrupts
  954.        that are resident in your PC's memory.  If you install a new
  955.        resident program or if you change device drivers (these are
  956.        usually found in  entries in your CONFIG.SYS and AUTOEXEC.BAT
  957.        files), IM will report a change.  The "/CM" command line switch
  958.        allows you to invoke this option.
  959.  
  960.        It is vital that you run the "resident program check" always at
  961.        the same point, such as immediately after boot.  If you execute
  962.        other programs which stay resident in memory, or if you have
  963.        programs that change their allocation of memory while you use
  964.        your PC, you can expect IM to report these changes. If you have
  965.        multiple boot configurations, you can use the "/MF=" command line
  966.        option to specify a different memory configuration file for each
  967.        situation.
  968.  
  969.  
  970.      Important Reminders Before Checking:
  971.  
  972.      o Before using IM, be sure that you've run SetupIM (new install)
  973.        and followed the directions provided for you in file IMPROC.TXT.
  974.  
  975.      o Before checking your files for the first time, run an "Entire
  976.        disk integrity" initialize (Windows users can click on the "2nd"
  977.        icon).
  978.  
  979.      o For protection against previously unknown viruses, be sure you
  980.        cold boot from a write-protected floppy before checking.  (With
  981.        version three or later you will be able to do a resident program
  982.        check to provide similar protection.)
  983.  
  984.  
  985.      THE REPORT FILE
  986.  
  987.      In addition to seeing a report of IM's findings on screen, you may
  988.      wish to save a report on disk or on paper.  The Options menu in
  989.      both IM and SetupIM allows you to set the type of report (if any)
  990.      IM will create.  I recommend that you allow IM to write its
  991.      findings to an "auto-named" disk file.  By saving these report
  992.      files, you can discover what changed last April 1 or when you last
  993.      changed a particular file. Each time you run IM, it will write its
  994.      findings to the end of the report file for that day.  For example,
  995.      on June 1, 1996, the report would be in file "0601.REP" (you can
  996.      control the name given to these files). By saving the report files,
  997.      you can maintain a complete change history for your PC.  If you
  998.      ever want to find out what happened to a file, the
  999.  
  1000.    Integrity Master (tm)             - 21  -                 Version 3.11
  1001.  
  1002.      full history will be available.  If you wish to keep more than one
  1003.      year of history on-line, try copying all the report files (COPY
  1004.      *.REP) to another disk or subdirectory.
  1005.  
  1006.      If you choose an "auto-named" report file, you can elect that IM
  1007.      place the file in the IM "home directory" (usually "\IM_HOME") of
  1008.      whichever disk is being checked, or you may choose to place the
  1009.      report files on a specific disk of your choice.  For normal
  1010.      installations, the report file is written to disk C.  If you
  1011.      installed IM from a version before 2.31, then your report files may
  1012.      still be written to the root directory rather than the IM "home
  1013.      directory".  (Run SetupIM if you want to start using the "home
  1014.      directory")
  1015.  
  1016.      You can also give the report file absolutely any name you wish.  If
  1017.      you choose a specific filename, you should include the disk and
  1018.      directory as part of the filename.  If you do not specify a disk or
  1019.      directory as part of the filename, then IM will create this file in
  1020.      the current directory at the time IM starts checking. You can also
  1021.      specify a specific report file name by using the "/RF=" command
  1022.      line parameter.
  1023.  
  1024.      If you elect printed output, IM will ask you to choose LPT1, 2,  or
  1025.      3. In the rare event that this does not work with your printer, you
  1026.      may also print by asking IM to write the report to a specific file
  1027.      name such as "PRN" (the printer).  If you use "PRN", you will get
  1028.      less sophisticated error handling and messages since DOS drives the
  1029.      printer rather than IM.
  1030.  
  1031.  
  1032.      SYSTEM SECTORS
  1033.  
  1034.      System sectors are special areas on your disk containing programs
  1035.      that are executed when you boot your computer.  These sectors are
  1036.      invisible to normal programs but are vital for correct operation of
  1037.      your PC.  They are a common target for viruses.  Please read the
  1038.      detailed description of Boot and Partition sectors in Chapter One
  1039.      of PART TWO - Data Integrity and Viruses.
  1040.  
  1041.  
  1042.      RELOADING
  1043.  
  1044.      You can reach the ReLoad menu by pressing "L" or alt/L from any of
  1045.      the other primary IM menus.
  1046.  
  1047.      ┌───────────────────────────────────────────╔══════╗──────────────┐
  1048.      │   Help    Options   Check   Initialize    ║ReLoad║    CoMmands  │
  1049.      └──────────────────────────────────────── ╔═╝      ╚════════════╗ ┘
  1050.                                                ║  Boot sector        ║
  1051.                                                ║  Floppy boot sector ║
  1052.                                                ║  Partition sector   ║
  1053.                                                ║  Missing partition  ║
  1054.                                                ║  PArtition boot code║
  1055.                                                ║  CMOS memory        ║
  1056.                                                ╚═════════════════════╝
  1057.  
  1058.      From the ReLoad menu, you may reload your CMOS memory, DOS
  1059.    Integrity Master (tm)             - 22  -                 Version 3.11
  1060.  
  1061.      boot sector, or  your partition sector (master boot record), in the
  1062.      event that they have become damaged or infected with a virus.  The
  1063.      "reload Missing partition" option must be used if you have a disk
  1064.      so badly damaged that DOS will not recognize that the disk exists.
  1065.      You will then be prompted to identify the disk on which to reload.
  1066.      You can identify it either by the logical disk letter (A-Z) or by
  1067.      the physical device number (0 for the first physical hard drive, 1
  1068.      for the second, and so on).
  1069.  
  1070.      RELOADING CMOS
  1071.  
  1072.      If you reload your CMOS, its contents will be reset to their state
  1073.      at the time you let IM initialize the CMOS (with the exception of
  1074.      the time and date information).  If your CMOS has a boot password,
  1075.      this will be reset also. IM must have file CMOS.SRL in the IM "home
  1076.      directory" or a root directory of one of your disks in order to
  1077.      reload the CMOS.  CMOS is not implemented the same way on all PCs.
  1078.      Some (rare) PCs can disable write to CMOS or do so in a
  1079.      non-standard way; in this case, IM may not be able to reload your
  1080.      CMOS. (Please check your motherboard manual for details on your
  1081.      CMOS.)
  1082.  
  1083.  
  1084.      REWRITING (FIXING) BOOT SECTOR CODE
  1085.  
  1086.      There are two options that actually reconstruct and rewrite the
  1087.      sector rather than reload from a save copy (an *.SRL file).  These
  1088.      options are "Floppy Boot Sector" and PArtition boot code."
  1089.  
  1090.  
  1091.      REWRITING (FIXING) FLOPPY BOOT SECTORS
  1092.  
  1093.      The "Floppy Boot Sector" option will check the disk parameters and
  1094.      replace the executable code in the boot sector with a clean
  1095.      selfchecking program. This option can be used to remove boot sector
  1096.      viruses from floppy diskettes when IM has no reload data. It can
  1097.      correct the disk parameters (diskette type, size, # of tracks,
  1098.      etc.) if needed.  Since viruses and disk corruption can damage or
  1099.      change the diskette parameters, Integrity Master displays the
  1100.      diskette type before rewriting the boot sector:
  1101.  
  1102.                ╔════════════════════════════════════════╗
  1103.                ║  Your diskette appears to be of the    ║
  1104.                ║  type selected below. If this is OK,   ║
  1105.                ║  just press ENTER, otherwise select    ║
  1106.                ║  the correct type and press ENTER.     ║
  1107.                ║────────────────────────────────────────║
  1108.                ║  180K 5.25"                            ║
  1109.                ║  360K 5.25"                            ║
  1110.                ║  1.2mb 5.25"                           ║
  1111.                ║  720K   3.5"                           ║
  1112.                ║  1.44mb 3.5"                           ║
  1113.                ║  2.88mb 3.5"                           ║
  1114.                ║  Bad or non-standard diskette type     ║
  1115.                ╚════════════════════════════════════════╝
  1116.  
  1117.    Integrity Master (tm)             - 23  -                 Version 3.11
  1118.  
  1119.      IM indicates the detected diskette type by highlighting one of the
  1120.      lines above. You should verify that this is the correct type and
  1121.      hit ENTER. If this is not the correct type, you can change the
  1122.      selection and IM will correct the diskette parameters accordingly.
  1123.      If you select, "Bad or non-standard diskette type", IM will not
  1124.      change the existing diskette parameters but will rewrite the
  1125.      executable code in the boot sector.
  1126.  
  1127.      The most common diskette type today, is the 1.44mb 3.5 inch
  1128.      diskette. This diskette can be identified by the two square holes
  1129.      on the corners of the diskette. The next most common type, the 720K
  1130.      3.5 inch diskette has only a single hole (the hole with the
  1131.      write-protect tab).
  1132.  
  1133.      If booted, this boot sector will do a check on its own integrity
  1134.      and display the message:
  1135.  
  1136.           "This is not a bootable diskette
  1137.           Please remove and reboot."
  1138.  
  1139.      if the self-checks are OK.
  1140.  
  1141.      The command line switch: "/RF" (Reload Floppy) will invoke this
  1142.      option.
  1143.  
  1144.      REWRITING THE PARTITION BOOT CODE
  1145.  
  1146.      The ReLoad menu option titled, "Partition Boot code" (and there the
  1147.      associated command line switch: "/RE") will check the partition
  1148.      table and replace the executable code in the partition sector (AKA
  1149.      Master Boot Record) with a clean self-checking program. This can be
  1150.      used to remove boot sector viruses from your hard disk when IM has
  1151.      no reload data.  This code is compatible with DOS 2.1 or later,
  1152.      OS/2, Win 95, Win NT and other operating systems. When you boot
  1153.      from a hard disk with the new boot code you will see the message:
  1154.  
  1155.             Partition Sector V2 Copyright 1996 by Stiller Research
  1156.  
  1157.      If you don't see the above message it can indicate that the boot
  1158.      sector has been replaced.  You may have to watch carefully to see
  1159.      this message since other messages in the boot process will quickly
  1160.      overlay this message.  If the self-checks detect a problem you will
  1161.      see:
  1162.  
  1163.              Partition Sector is damaged or infected.
  1164.              Boot from a diskette and run a full Integrity Master check.
  1165.  
  1166.      These checks are intended only as an aid, not a replacement for
  1167.      normal Integrity Master checks since they will not detect infection
  1168.      by some stealth viruses.
  1169.    Integrity Master (tm)             - 24  -                 Version 3.11
  1170.  
  1171.  
  1172.      THE COMMANDS MENU
  1173.  
  1174.      You can reach the "CoMmands menu" by pressing "M" or alt/M from
  1175.      any of the other primary IM menus.
  1176.  
  1177.      ┌────────────────────────────────────────────────────╔════════╗───┐
  1178.      │   Help    Options   Check    Initialize    ReLoad  ║CoMmands║   │
  1179.      └──────────────────────── ╔══════════════════════════╝        ╚═╗ ┘
  1180.                                ║  Temporarily Shell out to DOS       ║
  1181.                                ║  Quit - exit Integrity Master       ║
  1182.                                ║  Disk change                        ║
  1183.                                ║  DiRectory change                   ║
  1184.                                ║  Uninstall - delete integrity data  ║
  1185.                                ╚═════════════════════════════════════╝
  1186.  
  1187.      Temporarily Shell out to DOS
  1188.  
  1189.        This allows you to exit IM to the DOS prompt, but leaves
  1190.        Integrity Master loaded in memory so you can quickly return by
  1191.        using the Exit command.  Shelling allows you to exit IM, and
  1192.        execute most other programs at the DOS prompt (such as copying
  1193.        files or formatting disks).
  1194.  
  1195.      Disk Change and DiRectory Change
  1196.  
  1197.        You'll mostly use this menu to change the current disk or
  1198.        directory. (You can also use the "/D" command line option to
  1199.        change to one or more other disks or use the "/P" command line
  1200.        parameter to start in a different directory)
  1201.  
  1202.  
  1203.      Quit - exit Integrity Master
  1204.  
  1205.        In addition to using the "Quit - exit Integrity Master" option on
  1206.        the CoMmands menu, you can use the ESCape and alt/X keys to
  1207.        terminate IM from any point.  The ESCape key allows you to
  1208.        terminate most IM menus without taking any action and return to
  1209.        the prior menu.  The only exceptions to this are menus which
  1210.        require a response one way or another.  These are usually the
  1211.        result of a detected error of some type.  If you press ESCape
  1212.        enough times, IM will ask if you really want to quit.  You must
  1213.        select "Yes" and press ENTER to exit.  The fastest way to exit
  1214.        IM, is by pressing alt/X (hold the ALTernate key down and press
  1215.        the "X" key).  This allows you to quickly exit without the final
  1216.        "Do you really want to quit?" prompt.
  1217.  
  1218.    Integrity Master (tm)             - 25  -                 Version 3.11
  1219.  
  1220.      Uninstall - delete integrity data
  1221.  
  1222.        If you have integrity data files in each directory of your hard
  1223.        disk, you can quickly delete these files by selecting Uninstall
  1224.        on the CoMmands menu.  If your integrity data is stored on a
  1225.        different disk than the files it describes (such as a floppy)
  1226.        then this option will have no effect.
  1227.  
  1228.  
  1229.      THE STATISTICS SUMMARY
  1230.  
  1231.      Whenever you finish checking files, IM will show you a summary of
  1232.      its findings.  Since the summary contains a time and date stamp,
  1233.      you can use the report file as a chronological log of all changes
  1234.      on your PC, even if you have it going to the printer.  The summary
  1235.      shows statistics for all file changes, as well as system sector and
  1236.      memory checking.  IM reports the number of times it checked a
  1237.      file's integrity data against the DOS directory information, as
  1238.      "files processed". It also reports a separate count of the number
  1239.      of files actually read and checked.  IM resets all statistics (with
  1240.      the exception of the memory check results) each time after it
  1241.      displays the summary statistics.  This means that on subsequent
  1242.      file checks, the system sectors will be indicated as "Not checked"
  1243.      even though they were indicated as checked on the prior display.
  1244.      Why is this?   IM does this because some disks are removable and
  1245.      disk X may suddenly be a different disk.  IM shows the statistics
  1246.      for any viruses, suspicious files, or system corruption (which
  1247.      includes file open and read errors) in red.
  1248.  
  1249.      The item "PC Config.:" displays the results of the "Resident
  1250.      programs and memory" check.
  1251.  
  1252.  
  1253.      VIRUSES - WHAT ARE THEY?
  1254.  
  1255.      Viruses are but one of many threats to your data.  You are far less
  1256.      likely to be hurt by a virus than by other causes of data damage
  1257.      such as software conflicts and general glitches of various types.
  1258.  
  1259.      Viruses are programs that attach themselves to other programs in
  1260.      such a way that when the other program is executed, the virus code
  1261.      will also execute.  The infected program usually appears to execute
  1262.      normally but the virus may be attaching itself to additional
  1263.      programs each time the infected program runs.  Many viruses are
  1264.      triggered by some event (such as a particular time or date) into an
  1265.      attack phase, resulting in anything from music to serious file
  1266.      damage.  Viruses often wait a long time before attacking; their
  1267.      goal is to spread as far as possible before revealing their
  1268.      presence.  Some viruses go resident in your PC's memory, taking
  1269.      over your PC.  This enables them to infect at will and elude
  1270.      detection attempts.
  1271.  
  1272.      A virus may attach itself to programs in two ways that many people
  1273.      are not aware of.  The first way is to infect the programs that are
  1274.      in the system (boot and partition) sectors of your PC.  The second
  1275.      way is by changing system information on your PC so that the virus
  1276.      code is executed before the intended program. The most obvious way
  1277.  
  1278.  
  1279.    Integrity Master (tm)             - 26  -                 Version 3.11
  1280.  
  1281.      to do this depends on the fact that if both a .COM and .EXE file
  1282.      have the same name, DOS will execute the .COM file instead of the
  1283.      .EXE file. Such a virus is commonly called a companion or spawning
  1284.      virus. These viruses locate .EXE files and then plant themselves as
  1285.      .COM files of the same name.  The virus (the .COM file) can
  1286.      execute, spread further, and then run the .EXE program so that
  1287.      everything appears normal. (Don't worry; IM detects all types of
  1288.      viruses!) Please read PART TWO -- Data Integrity and Viruses to
  1289.      learn more about viruses.
  1290.  
  1291.  
  1292.      VIRUS CHECKING PROCEDURE
  1293.  
  1294.      When you install Integrity Master using SetupIM, the Integrity
  1295.      Advisor will prepare a complete procedure for running IM.  If you
  1296.      indicated that you wanted to detect viruses, then this procedure
  1297.      would include the steps you need to check for viruses.  This step
  1298.      by step procedure is customized to your own preferences, so be sure
  1299.      to read file IMPROC.TXT first.
  1300.  
  1301.      To be certain of detecting even unknown viruses, it is best to cold
  1302.      boot from your write-protected floppy containing IM before checking
  1303.      for viruses.  Do NOT use Ctrl/alt/del to boot, but turn your PC off
  1304.      and then on.  Some PCs have a reset button that will force a cold
  1305.      boot. (Version three of IM provides an alternative to cold booting
  1306.      by performing a resident program check that will detect
  1307.      memory-resident viruses.)
  1308.  
  1309.      Whenever you engage in any activity that changes or rearranges many
  1310.      files, run at least a "Quick update", so that your integrity data
  1311.      accurately reflects the status of your PC.  Use the Options menu to
  1312.      change the type of integrity checking.
  1313.  
  1314.      o With Integrity "CHECK ON", do a full integrity check (rather than
  1315.        a "quick update") of all files at least once a month to detect
  1316.        any unexpected changes.
  1317.  
  1318.      o If your work exposes you to programs that may be infected with
  1319.        viruses, do a daily full check of your disk for any unauthorized
  1320.        changes.  To save time, use the Options menu to limit checking to
  1321.        executable programs.  Check at least the current directory if you
  1322.        have executed any new or "strange" programs.
  1323.  
  1324.      o After installing any new software, IMMEDIATELY run IM to
  1325.        initialize the integrity data for the new files you have created.
  1326.        Be sure that you save a write-protected disk containing a copy of
  1327.        the software.  It is vital that you do this before you start to
  1328.        use the software.
  1329.  
  1330.      o It is worth doing some extra checking any time you copy programs
  1331.        (e.g., *.EXE or *.COM files).  When you copy programs, copy your
  1332.        integrity data also.  For example, if you are doing something
  1333.  
  1334.    Integrity Master (tm)             - 27  -                 Version 3.11
  1335.  
  1336.        like a "COPY  *.EXE   D:\DOS", then also enter a command to copy
  1337.        the integrity data to "D:\DOS".  (If you're not sure what the
  1338.        names of your integrity data files are, check your IMPROC.TXT
  1339.        file or select "Integrity data options" on the SetupIM Change
  1340.        menu.) If you simply copy all files (COPY *.*), then you won't
  1341.        have to worry; the integrity data will automatically be copied
  1342.        along with the programs.  Afterwards, run IM to check that the
  1343.        files were copied without damage or virus infection.  Naturally,
  1344.        IM will report any files that weren't copied as deleted when you
  1345.        run this check.
  1346.  
  1347.  
  1348.      SCANNING FOR VIRUSES
  1349.  
  1350.      To quickly do nothing but scan one or more disks for known viruses:
  1351.  
  1352.      o Use the CoMmands menu or the "/Dx" command line parameter to
  1353.        change to the drive you want to scan.
  1354.  
  1355.      o Use the Options menu to turn the report off or to set the report
  1356.        to go to the printer or your hard disk.
  1357.  
  1358.      o From the Check menu choose "Disk for known Viruses".  Press ENTER
  1359.        and select either "One-time scan of disk" or (if you're planning
  1360.        to check several floppies) "Check Multiple diskettes".
  1361.  
  1362.      o Some viruses will create a boot sector that can hang DOS or
  1363.        Windows. If your PC should freeze while checking a diskette, then
  1364.        reboot and select "Scan floppy Boot sectors" from the "Disk for
  1365.        known Viruses" menu. This will check the diskette without using
  1366.        DOS.
  1367.  
  1368.      o This scans the first disk.  When you see the display summarizing
  1369.        the results of the scan, insert the next diskette and press enter
  1370.        to scan that diskette or press ESCape if you're done scanning.
  1371.  
  1372.      You can also use the command "IM /Dx /VM" to scan multiple
  1373.      diskettes in drive x.  Use "/VO" rather than "/VM" to scan only one
  1374.      diskette.
  1375.  
  1376.      IM will return a DOS error level of 64 or greater if it detects a
  1377.      known virus, so you can have a batch file do automated scanning.
  1378.      We provide some batch files that do this for you and serve as
  1379.      samples for using IM in your own batch files:
  1380.  
  1381.      IMSCAN.BAT  This batch file allows you to scan files on an entire
  1382.           disk or specific directory on a disk and all lower
  1383.           subdirectories. For example, to scan files on disk C, type
  1384.           "IMSCAN C:" or to scan subdirectory DOS and all lower
  1385.           directories (e.g., \DOS\UTILS) type "IMSCAN \DOS". If you
  1386.           don't want to check memory each time include a "/B" (e.g.,
  1387.           "IMSCAN \DOS /B"
  1388.  
  1389.      IMSCAND.BAT This allows you to scan a specific subdirectory. You
  1390.           can specify just the subdirectory or both the subdirectory and
  1391.           the disk (e.g., "IMSCAND C:\PCB\UPLOADS").
  1392.  
  1393.    Integrity Master (tm)             - 28  -                 Version 3.11
  1394.  
  1395.      IMSCANM.BAT Allows you to scan multiple diskettes for known
  1396.           viruses. After each diskette, IM will prompt you to insert
  1397.           another.
  1398.  
  1399.      IMQ.BAT      Does a check in "Quick Update" mode of your current
  1400.           disk. This scans memory and the system sectors for known
  1401.           viruses and then checks only the files that have changed,
  1402.           providing a very fast way to check an entire disk for known
  1403.           viruses.  This also keeps your integrity data current for all
  1404.           files so that you are up-to-date in case of a problem.  If you
  1405.           want to specify a different disk to check, you must use the
  1406.           "/Dx" command line switch (e.g., "IMQ /DCF" will check both
  1407.           drive C and drive F).
  1408.  
  1409.      IMONCE.BAT  Uses RunMaybe to run a "Quick Update" once a day. This
  1410.           is the fastest way to make sure your disk stays clear of
  1411.           viruses.
  1412.  
  1413.      IMAUTO.BAT  Will create a backup copy of your AUTOEXEC.BAT file and
  1414.           then modify it to include the once-aday "Quick Update" from
  1415.           IMONCE.BAT.  This way your PC will get a daily quick check.
  1416.  
  1417.  
  1418.      To scan a disk for known viruses AND to get data integrity
  1419.      protection:
  1420.  
  1421.      o Use the Options menu and set the "Files to iNitialize" option to
  1422.       "Executable programs."
  1423.  
  1424.      o Use the Initialize menu to initialize "Entire disk integrity".
  1425.  
  1426.      The command line options: /VA, /VB, /VM, /VO, /VR, and /VL are
  1427.      available for scanning.  Remember that virus scanning will detect
  1428.      only viruses known at the time this program was written.  As with
  1429.      any scan program, you should have the latest version if you intend
  1430.      to rely upon scanning for serious protection.
  1431.  
  1432.      SCANNING DISKETTES
  1433.  
  1434.      If you have detected a boot sector virus on your hard disk, you
  1435.      will want to scan all your floppy diskettes for infected boot
  1436.      sectors. To do this, , select "Disk for known Viruses", (from the
  1437.      "Check" menu) then select "Scan floppy Boot sectors" or just start
  1438.      IM with the "/VB" command line option.  This will allow you to
  1439.      quickly scan diskettes (bypassing DOS) and remove any viruses
  1440.      found.  Using this option, you can scan diskettes that contain boot
  1441.      sectors that are unreadable by DOS (or which will cause DOS to
  1442.      crash.)
  1443.  
  1444.      QUICK SCANNING
  1445.  
  1446.      Integrity Master provides an ultra-fast way to effectively perform
  1447.    Integrity Master (tm)             - 29  -                 Version 3.11
  1448.  
  1449.      a full scan of your hard disk.  We call this "Quick scanning".
  1450.      Quick scanning is only possible on disks where you have allowed IM
  1451.      to perform an initialize to establish initial disk integrity.  Once
  1452.      you have initialized a disk, you can ask IM to check in "quick
  1453.      update" mode. This fully checks only files that show signs of
  1454.      changes or that have been added. This is not as effective as
  1455.      running Integrity Master in it's normal mode which provides full
  1456.      integrity checking, but this provides scanning as effective as that
  1457.      provided by any of the other scan programs and runs much, much
  1458.      faster. These types of checks are so fast that most users don't
  1459.      mind including a daily scan.  One way to make sure this happens
  1460.      regularly is to execute IMAUTO.  This will modify your AUTOEXEC.BAT
  1461.      so that IM runs in quick update mode once a day.  Take a look at
  1462.      the IMQ batch file  or follow these steps to do a quick scan:
  1463.  
  1464.      o Choose a disk on which you have run an "IM initialize" at some
  1465.        point in time.  (This initialize need not be recent.) Use the
  1466.        CoMmands menu or the "/Dx" command line parameter to change to
  1467.        the drive you want to scan.
  1468.  
  1469.      o Use the Options menu or the "/Q" command line parameter to place
  1470.        IM in "quick update" mode.
  1471.  
  1472.      o Now run a check of this disk.  If you do this frequently, you can
  1473.        check even a very large disk very quickly.  The command: "IM /Q
  1474.        /N /DCD" would very quickly scan disks C and D as well as provide
  1475.        a report of any changes.
  1476.  
  1477.      SCANNING UPLOADS
  1478.  
  1479.      You can use IM to scan uploads to your BBS. The command
  1480.  
  1481.                IM /VR /ND /B
  1482.  
  1483.      will scan the current directory or
  1484.  
  1485.                IM /VR /ND /B /Pxxxx
  1486.  
  1487.      will scan the directory (and/or disk) specified by xxxxxx.
  1488.  
  1489.      If your upload processor provides a filespec like "*.*" or "*.COM",
  1490.      you do not need to feed it to IM on the command line.  However, if
  1491.      it does, you can include it as the first parameter. (e.g. "IM
  1492.      @FILES@ /B /VR /ND").
  1493.  
  1494.      IM returns an ERRORLEVEL of 64 or greater if it finds a virus.
  1495.  
  1496.      SCANNING .ZIP FILES FOR VIRUSES
  1497.  
  1498.      We provide some utilities that automate scanning of zip compressed
  1499.      files. File scanzip.zip contains these .bat files.  You can use the
  1500.      unzip.exe program that is on the IM distribution diskette to
  1501.      extract the contents of scanzip.zip.  Read or print file
  1502.    Integrity Master (tm)             - 30  -                 Version 3.11
  1503.  
  1504.      READMEZ.TXT for directions on how to scan a single .zip file or a
  1505.      complete disk of .zip files.  These utilities require the use of
  1506.      program PKunzip to decompress the .zip files. READMEZ.TXT also
  1507.      explains how to process other archive types such as ARJ.
  1508.  
  1509.      DETECTING VIRUSES
  1510.  
  1511.      o Make sure that you specified that you wanted virus protection
  1512.        when you installed IM.  If you didn't, then run SetupIM and
  1513.        select "Reinstall".
  1514.  
  1515.      o For maximum protection make sure that you carefully followed
  1516.        SetupIM's instructions in IMPROC.TXT (created only when you do a
  1517.        full install with SetupIM).
  1518.  
  1519.      o If a virus is found on your PC, IM will almost always recognize
  1520.        it by name and explain how to remove it.  IM will also advise if
  1521.        viral signs are present on changes that don't match known
  1522.        viruses.
  1523.  
  1524.      o Whenever IM reports a change to an executable program, it's
  1525.        important to discover the cause.  Some programs modify themselves
  1526.        when you change their options; some programs change themselves
  1527.        every time they run.  Changes to executable programs are
  1528.        indicated in red on the report screen and are bracketed by "...."
  1529.        to make these changes obvious.
  1530.  
  1531.      o If only a single program has changed and IM does not reveal this
  1532.        to be corruption, then you probably do NOT have a virus.  If you
  1533.        have any doubt that a program change may be a virus, be very
  1534.        careful and run full checks with IM after executing this program.
  1535.        (Cold boot (power off and on) from a floppy before running IM)
  1536.        Any program changes detected at this point indicate a virus.
  1537.        Please report this (see file VIRREP.TXT for complete details on
  1538.        reporting viruses.).
  1539.  
  1540.      o For speed, use the Options menu to limit checking to executable
  1541.        files.
  1542.  
  1543.  
  1544.      DETECTING UNKNOWN (NEW) VIRUSES
  1545.  
  1546.      IM has the capability to detect infection by an unknown (new) virus as
  1547.      well as the ability to identify known viruses and their characteristics.
  1548.      If IM detects an unknown virus, it clearly can't provide the detailed
  1549.      information that it provides when it detects a known virus.  Because of
  1550.      some of the generic detection techniques used in IM, there's a good
  1551.      chance that it will identify and describe a new virus.  How is this
  1552.      possible?  This is only possible if the virus is not totally new but a
  1553.      modification of an existing virus.  In this case, IM may identify the
  1554.      "new" virus as a virus it knows about because someone created the
  1555.      new virus by simply making some changes to an existing virus.  (Most
  1556.      "new" viruses are created in exactly this way.)  IM will usually notice
  1557.      the code from the old virus still present in the new virus and identify it
  1558.      in this way.
  1559.    Integrity Master (tm)             - 31  -                 Version 3.11
  1560.  
  1561.      What about totally new viruses?   These are a little more work to
  1562.      identify.  In this case, IM will inform you that it has detected a
  1563.      change in a file or a system sector, but won't announce that a
  1564.      virus is present, unless it's similar to a known virus.
  1565.  
  1566.      How do we decide whether a virus is responsible for the detected
  1567.      change?  Consider the following factors:
  1568.  
  1569.      o Has IM identified virus-like symptoms with this change?  Such
  1570.        symptoms include an unusual value in the DOS time or date stamp,
  1571.        and file corruption detected (no change to the time and date
  1572.        stamp but a change to the file).
  1573.  
  1574.      o Are numerous unrelated executable files changed?
  1575.  
  1576.      If the answer to one or both of these questions is "yes" then it's
  1577.      time to do some more checking to see if it's really a virus.
  1578.      Please read the section on Virus Signs and Playing Detective in
  1579.      Part Two - Data Integrity and Viruses.  Following these procedures
  1580.      will let you determine if you have encountered a brand new virus
  1581.      (lucky you!).  If you have encountered a virus, or you are not
  1582.      sure, please contact us; see file VIRREP.TXT for details on
  1583.      reporting viruses.
  1584.  
  1585.  
  1586.      THE INTEGRITY MASTER VIRUS REPORT
  1587.  
  1588.      When IM detects a known virus it will optionally present at least
  1589.      one full screen of information.   The virus report screen gives you
  1590.      the following information:
  1591.  
  1592.      o The name of the virus.  This is usually the CARO (Computer
  1593.        Antivirus Research Organization) name or the name used by the
  1594.        UK's Virus Bulletin, but in some cases we use an abbreviated or
  1595.        more common name.  This name corresponds to an entry in file
  1596.        VTEXT.TXT.  Many viruses have been built as modifications to
  1597.        existing viruses. By identifying common (hard to change) code
  1598.        elements in the base virus, IM can identify multiple viruses by
  1599.        spotting their common characteristics.  This means for example
  1600.        that if IM reports the Jerusalem virus, it could also be the
  1601.        Anarkia, Anarkia-B or the Payday virus. Since viruses go by many
  1602.        names, alternate names for the same virus are listed in this
  1603.        table too.
  1604.  
  1605.      o IM lists the type of files or system sectors infected by this
  1606.        virus.
  1607.  
  1608.      o If the virus is known to seriously interfere with normal
  1609.        operation of your PC, this is mentioned.  We don't classify
  1610.        messages, bouncing balls, or music as serious interference. We do
  1611.        consider slowing execution of your PC or halting the system as
  1612.        serious.
  1613.  
  1614.      o IM will mention if the virus is known to either deliberately or
  1615.        inadvertently damage data on your disk.  Beware though, some idiot
  1616.  
  1617.    Integrity Master (tm)             - 32  -                 Version 3.11
  1618.  
  1619.        could, at any point in time, modify a previously harmless virus
  1620.        to do something destructive.  An example of this is the Cascade
  1621.        virus (letters cascade down on your screen when this virus
  1622.        activates). The first version of this virus was harmless, but
  1623.        someone created a variant that will format your disk.  In this
  1624.        case, IM makes a special check for the dangerous variant of the
  1625.        virus and warns you if it's detected.  In spite of this, please,
  1626.        NEVER assume that a virus is harmless.  If we don't mention that
  1627.        a virus is known to damage files, it means only that no one has
  1628.        reported damage from this virus. Be careful; you may have a
  1629.        variant of the virus that might very well be dangerous!
  1630.  
  1631.      o IM presents step-by-step removal instructions for the virus as well
  1632.        as the option of automatic removal.
  1633.  
  1634.      Sometimes IM presents additional screens describing necessary or
  1635.      suggested actions.  This is true if the virus is detected in
  1636.      memory. When IM first starts, it checks the memory of the PC for
  1637.      the presence of known viruses (unless you deactivate this check
  1638.      using SetupIM or the "/B" (bypass) command line parameter); if IM
  1639.      detects a virus, it will ask you to immediately cold boot your PC.
  1640.      Checking further at this point could be very dangerous since it
  1641.      might spread the virus.  If IM detects a special virus such as a
  1642.      companion or cluster virus, (see PART TWO for details) it will
  1643.      display an extra screen identifying that virus along with more
  1644.      detailed information about the virus.
  1645.  
  1646.  
  1647.      FALSE ALARMS
  1648.  
  1649.      If IM announces detection of a known virus, could this be a false
  1650.      alarm (not really a virus)?  If IM has checked this file before or
  1651.      if it has found more than one file infected, then you very likely
  1652.      have a REAL VIRUS!  If this is the first time that IM checked this
  1653.      file, and if it found only one file infected after checking your
  1654.      entire disk, then it's probably a false alarm (unless this file is
  1655.      COMMAND.COM or one of the programs provided with DOS).  There is
  1656.      always some risk that a legitimate program might contain code that
  1657.      matches a virus.
  1658.  
  1659.            IF YOU THINK YOU HAVE A FALSE ALARM, PLEASE
  1660.            NOTIFY STILLER RESEARCH.   WE WILL DETERMINE IF
  1661.            A VIRUS IS PRESENT; IF IT IS A FALSE ALARM, WE WILL,
  1662.            IF POSSIBLE, SEND A CORRECTED VERSION OF IM.
  1663.  
  1664.      Some anti-virus programs contain unencrypted virus fragments that
  1665.      IM may detect.  It's usually safe to assume these programs are not
  1666.      infected.  Some of these programs also leave virus fragments in
  1667.      memory that IM may then detect and announce as a memory resident
  1668.      virus.  Please do not take any chances in such a case and follow
  1669.      IM's instructions to cold boot, even though it's likely to be a
  1670.      false alarm.
  1671.  
  1672.  
  1673.    Integrity Master (tm)             - 33  -                 Version 3.11
  1674.  
  1675.      If you have just read an infected disk or a file, there is a chance
  1676.      that IM may detect a piece of this file in memory and announce a
  1677.      resident virus when one really isn't resident.  In such cases, it's
  1678.      best to play it safe and cold boot from a write-protected diskette.
  1679.  
  1680.  
  1681.      DESTROYING VIRUSES
  1682.  
  1683.      If IM detects a known virus, it will display the steps to remove
  1684.      the virus and offer to remove it automatically.
  1685.  
  1686.      If IM detects program or system sector changes that may be due  to
  1687.      a virus, please follow these steps:
  1688.  
  1689.      o Save at least one infected diskette or file and report this to
  1690.        us. This will allow us to update IM to recognize this virus and
  1691.        hopefully track down the source of the virus!  See file
  1692.        VIRREP.TXT for complete details.
  1693.  
  1694.      o Cold boot your PC (power off and on) from a write-protected
  1695.        floppy disk.
  1696.  
  1697.      o Run an "Entire disk integrity" check, noting any changed programs
  1698.        or other possible damage by the virus.
  1699.  
  1700.      o You can allow IM to remove the virus or follow its directions to
  1701.        remove the virus manually.  Restore infected files from the
  1702.        original program diskettes if possible.
  1703.  
  1704.      o Reload your system sectors if they were damaged.
  1705.  
  1706.      o Restore any damaged files or programs from the original diskettes
  1707.        if possible.
  1708.  
  1709.      o Very carefully check any floppies you've used.  If you have
  1710.        encountered a system sector virus, use the /VB command line option
  1711.        to quickly scan your floppies.
  1712.  
  1713.      o Run an "Entire disk integrity" check daily for a while.
  1714.  
  1715.  
  1716.      DATA CORRUPTION
  1717.  
  1718.      If a program changes a file by normal means, the file's time and
  1719.      date stamp will be updated to reflect this change.  On the other
  1720.      hand, if a virus or a hardware or software problem causes a file to
  1721.      be changed, there is often no change to the file's time and date
  1722.      stamps. IM calls this file corruption and raises a special alarm if
  1723.      it detects this.  If you find a corrupted file, the odds are it's
  1724.      NOT a virus.  The most likely cause of corrupted files is software
  1725.      conflicts.  The next most common cause is hardware problems.  In
  1726.      any case, if you have a corrupted file, it's essential you find
  1727.      what the cause is.  In Part Two - Data Integrity and Viruses", I
  1728.      have a chapter titled Determining the Cause of Data Corruption.
  1729.  
  1730.    Integrity Master (tm)             - 34  -                 Version 3.11
  1731.  
  1732.      Please read that chapter very carefully when you detect a corrupted
  1733.      file. The next section describes using IM when you are having
  1734.      suspected disk hardware problems.
  1735.  
  1736.      INTEGRITY MASTER AND DISK PROBLEMS
  1737.  
  1738.      It's an unfortunate fact of life that all disk drives will
  1739.      eventually fail; sometimes at the worst possible moment!  Before
  1740.      disk drives totally fail, they usually start exhibiting signs of
  1741.      problems, such as inability to reliably read and write certain
  1742.      areas on the disk. Unfortunately, these failures tend to be
  1743.      intermittent. The result may be that you have damaged files, but
  1744.      when you run your disk diagnostic software, no problems are found.
  1745.      By using IM to do periodic full checks, you can detect these
  1746.      problems when they first begin and prevent more major disk
  1747.      problems, such as total failure, from taking you by surprise.  If
  1748.      you have an MFM, RLL, or ESDI type of disk drive you probably can
  1749.      extend its life slightly by doing a low level format, or using a
  1750.      product such as Steve Gibson's SpinRite(R) that can do a
  1751.      nondestructive low level format.  The key here is to detect disk
  1752.      problems early before any serious damage is done.
  1753.  
  1754.      IM replaces the DOS critical error handler with its own more
  1755.      advanced routine.  If a disk error occurs, you will see a warning
  1756.      screen explaining what has happened, rather than the dreaded
  1757.      "Abort, retry, or fail" message that DOS provides.  IM may also
  1758.      present a menu offering you additional options (depending upon the
  1759.      type of error and the circumstances) such as repeating (retrying)
  1760.      the operation.
  1761.  
  1762.      If an error occurs while IM is checking files, it will report
  1763.      either "Read fail" or "Open fail" in place of the normal signature
  1764.      data on its report:
  1765.  
  1766.                       Name and    Signature     File     Update   Update
  1767.     Status: Type:     Extension:  Val1: Val2:   Size:    Date:    Time:
  1768.     ------- --------  ----------   ---- ---- ---------- -------- --------
  1769.     Added   File      NORMAL   EXE 0D83 4E93       2048 11/05/93 14:00:56
  1770.     Added   File      DISKERR  EXE Read fail     140792 11/05/93 14:01:02
  1771.     Added   File      CANTOPN  FIL Open fail        123 10/05/93 10:11:20
  1772.  
  1773.  
  1774.      In addition to "Read fail" or "Open fail" appearing in the IM
  1775.      report, additional information regarding the type of error will
  1776.      also appear and be recorded in the report file (or printout) as
  1777.      well as in the on-screen report.
  1778.  
  1779.      Whenever IM encounters an error reading a file, it will NOT replace
  1780.      the original integrity data with the current (in error) data. This
  1781.      means that if you have a read error on a file, and you either "fix"
  1782.      the file using some utility or restore the file from a backup, you
  1783.      can then run a check on that file and know whether or not your file
  1784.      was correctly restored.
  1785.  
  1786.    Integrity Master (tm)             - 35  -                 Version 3.11
  1787.  
  1788.      If you run IM in an environment where more than one program can
  1789.      have a file open, you may get an "Open fail" or "IO error" due to
  1790.      another program having this file open.  This can happen on networks
  1791.      (LANs), with OS/2, or with Windows. When this error occurs, you
  1792.      will see a detailed explanation along with a menu offering several
  1793.      options.  We recommend you select the option to ignore any further
  1794.      open errors; this way you will still see detailed information on
  1795.      any other problems discovered by IM.  You can avoid this error
  1796.      display and most others by using the "/NE" command line parameter
  1797.      (pause on emergencies only).
  1798.  
  1799.    Integrity Master (tm)             - 36  -                 Version 3.11
  1800.  
  1801.  
  1802.      INTEGRITY MASTER FOR PC SECURITY
  1803.  
  1804.      Although there are no 100 percent reliable techniques to prevent
  1805.      someone from making unauthorized changes to your data while you are
  1806.      away, IM does offer a reliable way of detecting these changes.
  1807.  
  1808.      If you specified that security was important when you first
  1809.      executed SetupIM, its Integrity Advisor will make recommendations
  1810.      on how to use IM to get the level of protection you need.  It saves
  1811.      these recommendations in file IMPROC.TXT.  By storing your
  1812.      integrity data on diskettes and keeping these diskettes in a safe
  1813.      location, you can detect any changes that occur on your PC.  This
  1814.      should provide you protection even against a user who understands
  1815.      how IM works and is technically adept.  For most situations this is
  1816.      probably overkill! (Using variably named integrity data files and
  1817.      using your own name and location for your IM.PRM file will stop all
  1818.      but the most determined intruder.)
  1819.  
  1820.      Keeping the integrity data on diskette may provide more protection
  1821.      than you need.  Simply keeping your parameter file (IM.PRM) on a
  1822.      diskette will provide a very high level of protection.  Since a
  1823.      user breaking into your PC will not be able to tell how the
  1824.      integrity data is computed, this user will not be able to change a
  1825.      file and then adjust the integrity data to hide the changes, even
  1826.      if they have a copy of the IM program.  This provides almost as
  1827.      much protection as keeping the integrity data on diskettes.
  1828.  
  1829.      You can ask SetupIM to make the names of your integrity data files
  1830.      variable (each file will have a different name) so that it is even
  1831.      more difficult for someone to attack your integrity data.
  1832.  
  1833.      If you keep the parameter file on the same disk with the files, you
  1834.      check, it's possible that someone could modify your files and then
  1835.      run IM to update the integrity data, in this way covering their
  1836.      tracks. This person would obviously have to have enough knowledge
  1837.      about your PC to know that you use IM.  If you'd like to keep your
  1838.      parameter file on the diskette with your files, you can still
  1839.      achieve a high degree of security by renaming IM.PRM and locating
  1840.      it in an unlikely directory.  When you invoke IM you will have to
  1841.      specify the name of the directory and the new name for the
  1842.      parameter file.  For example, the command: "IM
  1843.      D:\DOS\UTILS\BORING.DAT" will read the IM parameter information
  1844.      from file BORING.DAT in directory \DOS\UTILS on disk D.
  1845.  
  1846.    Integrity Master (tm)             - 37  -                 Version 3.11
  1847.  
  1848.      INTEGRITY MASTER FOR CHANGE CONTROL
  1849.  
  1850.      To use IM for change management, you really don't need to use
  1851.      integrity checking. Simply running IM in "Quick update" mode (which
  1852.      does not actually read files unless the DOS time/date stamp or file
  1853.      size have changed), is adequate to provide change management.
  1854.      "Quick update" mode only requires about 10 to 20 seconds to check
  1855.      about 1,000 megabytes (9000 files).  To keep a full record of what
  1856.      has changed on your PC, I recommend you use "auto-named" report
  1857.      files and that you keep all your report files.  At the end of the
  1858.      year, you may wish to copy all the old report files into a
  1859.      directory for that year. For example, on January 1, 1996:
  1860.  
  1861.      CD \IM_Home (or "CD \" if not using "home directories")
  1862.      MD REP96
  1863.      COPY *.REP \REP96
  1864.      DEL *.REP
  1865.  
  1866.      This creates a directory called "\REP96", copies all report files to that
  1867.      directory, and then deletes the old report files.
  1868.  
  1869.      By following this procedure you have a complete record of all
  1870.      changes on your PC.  If you want to know when a particular file
  1871.      last changed, it's easy to search through the report files for that
  1872.      filename.  If you want to know where all your disk space is going,
  1873.      you can go back and see which files were added or which files grew.
  1874.  
  1875.      INTEGRITY MASTER FOR LAPTOP CONFIGURATION
  1876.  
  1877.      If your organization lends laptop PCs to its employees or customers
  1878.      then you should consider using Integrity Master to assure that the
  1879.      laptops are correctly configured and ready for the next person to
  1880.      use. If you use IM to check the integrity of the laptop when it is
  1881.      returned you can make sure that no files are missing and any
  1882.      changed files are restored to their original form.  This way you
  1883.      know not only that the laptops are free of viruses but that all the
  1884.      installed software is ready to go the next time someone needs to
  1885.      use the laptop.  (For absolute security you can use SetupIM to
  1886.      configure IM to record the integrity data on floppy; this way there
  1887.      is no risk of the laptop user deleting the integrity data files on
  1888.      the hard disk.)
  1889.  
  1890.    Integrity Master (tm)             - 38  -                 Version 3.11
  1891.  
  1892. Command Line Execution
  1893.  
  1894.      Integrity Master is really designed to work by use of its menus.
  1895.      However, most functions can be automatically invoked from the
  1896.      command line to allow you to start IM from batch files.
  1897.  
  1898.   Syntax:
  1899.   IM Fspec /A /B /C /Cx /Dxyz /F /H /Ix /L /M /Nx /NOB /Ppath /Q /Rx /REPA
  1900.            /RF=filespec /Vx /1
  1901.   ==========================================================================
  1902.   FSpec specifies the name of the parameter file to be used.  It's best
  1903.   to specify the disk and directory path as part of the filespec. For
  1904.   example: use "IM C:\dos\NEW.PRM" rather than "IM NEW.PRM".  If you
  1905.   don't use this option, IM will search for file "IM.PRM", looking first
  1906.   in the current directory, then in the directory with the IM program
  1907.   (IM.EXE), and finally in the root directories of all available disks.
  1908.   --------------------------------------------------------------------------
  1909.    "/Dxyz"  Change to disk "x", process and then change to disk "y", etc.
  1910.          If used with more than one disk, this should be used with one of the
  1911.          "/Cx" "/Ix" or "/Vx" parameters. You may also use the /Dx:y:z:" form.
  1912.  
  1913.     "/Ppath"  Change to directory (and optionally disk).  If you specify
  1914.           a disk here, you can't also use the "/Dxyz" parameter.  (e.g.
  1915.           "/P\dos" or "/Pc:\dos")
  1916.  
  1917.     "/1"   Only "1 line" virus reports. Turns off the detailed virus
  1918.            descriptions.
  1919.  
  1920.     "/B"   Bypass memory check.
  1921.  
  1922.     "/F"   Forces full integrity checking if quick update is set as the default.
  1923.  
  1924.     "/H"   (or /?) produces this help display.
  1925.  
  1926.     "/NOB" No Beep.  Disables sound.
  1927.  
  1928.     "/NA"  No Abort - disables the ESCape and ALT/X keys during checking
  1929.  
  1930.     "/N"   Nonstop: the same as setting "Halt" to "Serious problems"  on the
  1931.            Options menu.  IM will stop only on viruses or serious problems.
  1932.  
  1933.     "/NE"  Stop on Emergencies only.  This almost never stops.
  1934.  
  1935.     "/ND"  Stop on Emergencies only with no screen display (unattended exec)
  1936.  
  1937.     "/Q"   Forces IM to run in "Quick update" mode.
  1938.  
  1939.     "/REPA" Report all.  When scanning, IM lists all files scanned for viruses.
  1940.             When initializing, IM lists all files processed on the report file.
  1941.  
  1942.     "/MS#"  You can use the command line /MS# option (or SetupIM) to
  1943.             vary the sensitivity of IM to resident program configuration
  1944.             changes.  The sensitivity can be set from 0 to 9. 0 turns
  1945.             the check off, and 9 provides maximum sensitivity to
  1946.             changes.  /MS4 is the default (and recommended) setting. /MS9 is
  1947.             useful for for researchers and on systems where there should
  1948.             be no software changes at all.
  1949.  
  1950.     "/RF=filespec"  Writes the report to "filespec" (can include disk + path).
  1951.              (The form /RF:filespec is also valid)
  1952.  
  1953.     "/MF=XXXX.SRL"  Specifies the file used by check "Resident programs
  1954.                     and memory" command.
  1955.  
  1956.    Integrity Master (tm)             - 38  -                 Version 3.11
  1957.   -----------------------------------------------------------------------------
  1958.   /Cx values: do type "x" integrity check and then quit:
  1959.  
  1960.     "/CE"  Check Entire disk integrity.      "/CB"  Check Boot sector.
  1961.     "/CD"  Check all files on DOS disk.      "/CP"  Check Partition sector.
  1962.     "/CR"  Check files in this diRectory.    "/CF=filespec" Check this one File.
  1963.     "/CL"  Check this + Lower directories  (The form /CF:filespec is also valid)
  1964.     "/CC"  Check CMOS memory
  1965.     "/CM"  Check resident programs and memory
  1966.  
  1967.   -----------------------------------------------------------------------------
  1968.   /Ix values: do type "x" initialize of integrity data and then quit:
  1969.  
  1970.     "/IE"  Init Entire disk integrity        "/IB"  Init Boot sector
  1971.     "/ID"  Init all files on DOS Disk        "/IP"  Init Partition sector
  1972.     "/IR"  Init files in this diRectory      "/IC"  Init CMOS
  1973.     "/IL"  Init files in the current directory and all lower directories
  1974.  
  1975.   ------------------------------------------------------------------------------
  1976.   /Vx options scan system sectors and files for signs of known viruses:
  1977.  
  1978.     "/VA"  Scan ALL files on a disk (not just executables).
  1979.     "/VB"  Scan only floppy disk boot sectors.  This allows rapid
  1980.            screening of floppies for boot sector viruses and access to
  1981.            (otherwise ureadable) floppies crash DOS.
  1982.     "/VM"  Virus scans of multiple diskettes - only 1 key-press needed per disk.
  1983.     "/VO"  one-time virus scan of programs on current disk.
  1984.     "/VR"  scan of programs in current directory.
  1985.     "/VL"  scan of programs in current and lower directories.
  1986.   ------------------------------------------------------------------------------
  1987.   /Rx values will rewrite or reload one of the system sectors:
  1988.  
  1989.     "/RP"  Reload Partition sector           "/RB"  Reload DOS Boot sector
  1990.     "/RE"  Rewrite partition Executable code "/RF"  Rewrite Floppy boot sector
  1991.  
  1992.   ------------------------------------------------------------------------------
  1993.   The following /Ux options control when IM updates its integrity data files:
  1994.  
  1995.     "/UN"  Undate integrity data NEVER.  When you run a check IM will not
  1996.            update your integrity data files (even for added or deleted files).
  1997.  
  1998.     "/UO"  Update off. IM will not update integrity data for changed files.
  1999.  
  2000.     "/UP"  IM will not update integrity data for changed programs.
  2001.  
  2002.     "/UA"  Update activate - update integrity data (default).
  2003.  
  2004.   ------------------------------------------------------------------------------
  2005.   The following may be used to override video mode selected during install:
  2006.  
  2007.     "/A"   Auto adjust of video mode.        "/L"   Use colors for older LCDs
  2008.     "/C"   Force use of full color mode.     "/M"   Use monochrome colors.
  2009.  
  2010.      Ordinarily,  you don't need ANY parameters. Just enter: "IM". IM  is
  2011.      menu driven with lots of on-line help.  The command line parameters
  2012.      are most often used for automatic unattended integrity checking.  If
  2013.      you don't have "HALT" set to "Serious problems" or "Emergencies
  2014.      only" (on the Options menu), use "/N" (or "/NE") to avoid pausing
  2015.      for input.  If you wish to have IM automatically locate your parameter
  2016.      file, DO NOT specify it on the command line.  If you specify it on the
  2017.      command line and it is not located in the current directory, then you
  2018.      must include the drive and directory of the parameter file along with
  2019.      the name.
  2020.  
  2021.      Examples:
  2022.  
  2023.       "IM /L /CE /DEF"  Uses colors appropriate for an older (CGA type)
  2024.      LCD display and checks the system sectors as well as all files on
  2025.      disk E and then changes to disk F and repeats the check there.
  2026.  
  2027.      "IM /IR"  Creates new integrity data for files in this diRectory.
  2028.  
  2029.      "IM /CF=A:\X\IO.SYS"  Checks the file IO.SYS in directory \X on
  2030.      disk A:.
  2031.  
  2032.      "IM D:\IO\X.PRM /CD"  Checks all files in the current disk using
  2033.      options saved in the parameter file "X.PRM" located in "D:\IO".
  2034.  
  2035.       "IM /RF /DA"  Writes a self-checking boot sector onto disk A:.
  2036.  
  2037.      We've provided some sample batch files that illustrate ways to
  2038.      automatically execute IM.  See the descriptions listed under
  2039.      "Scanning for Viruses" earlier.  Here are the steps to execute IM
  2040.      automatically in unattended (batch) mode:
  2041.  
  2042.      o Use the Options menu to activate the report file.  Save this
  2043.        change by selecting the first option on the Options menu, "Write
  2044.        option changes to disk." (Or use the "/RF=" command line
  2045.        parameter.)
  2046.  
  2047.      o Either set the halt options to "Serious problems" (on the Options
  2048.        menu) or use the "/N", "/ND" or "/NE" command line parameters.
  2049.        (e.g., "IM /ND").
  2050.    Integrity Master (tm)             - 40  -                 Version 3.11
  2051.  
  2052.      o Prepare the IM command line to do the type of checking that you
  2053.        want.  For example: "IM /N /DFG /CE" will run nonstop on disk G
  2054.        and check the entire disk (/CE), including system sectors.
  2055.  
  2056.      o You may wish to add IM to any batch file that you run regularly,
  2057.        such as a nightly backup batch file.  You can use RunMaybe with
  2058.        IM to give you control over how often IM runs.
  2059.  
  2060.      ERROR LEVELS
  2061.  
  2062.      Integrity Master returns the following DOS error levels.  You can
  2063.      check for these error levels in a batch file and execute your own
  2064.      special procedures depending upon IM's findings.  One of our beta
  2065.      testers has their PCs automatically phone their help desk if an
  2066.      error level 24 or greater is encountered.
  2067.  
  2068.      00   Processing complete with no changes detected
  2069.      08   Checking complete with added or deleted files detected
  2070.      12   Checking complete with changed files detected
  2071.      16   Checking complete with changed programs detected
  2072.      24   Checking complete with suspicious file changes detected
  2073.      32   Checking complete but a file or system sector showed signs of
  2074.           corruption or an I/O error.  This will be in addition to any of the
  2075.           lower valued indicators such as change to a program.  So if a
  2076.           program changed, the error level would be 16 + 32 = 48.
  2077.      64   One or more viruses were detected. Any of the lower status
  2078.           indicators will be included with this one.
  2079.      128  If a vital IM file is determined to be missing or damaged
  2080.      192  A fatal error occurred during execution, such as not enough
  2081.           memory or a disk error in internal processing.
  2082.      200  Command line error (an error in IM's "/" parameters).
  2083.  
  2084.  
  2085.      USING IMCHECK
  2086.  
  2087.      IMCHECK.EXE is a fast stand-alone file checker.  It will read
  2088.      whatever files you specify and compute signature data similar to
  2089.      what Integrity Master uses as part of its integrity data.
  2090.  
  2091.      If you print the IMPROC.TXT file created by SetupIM, you will see
  2092.      the check values that IMcheck should report for IM.EXE and IMcheck
  2093.      itself.
  2094.    Integrity Master (tm)             - 41  -                 Version 3.11
  2095.  
  2096.      The syntax is: IMCHECK [d:] [path] filename [/D] [/1] [/2]
  2097.      "filename" specifies the files to check.  Wild card characters
  2098.      such as * or ? may be used.
  2099.         "/D"    Display directory entries as well as files.
  2100.         "/1"    Utilize an alternate algorithm for check value one.
  2101.         "/2"    Utilize an alternate algorithm for check value two.
  2102.  
  2103.      Entering IMCHECK with no parameters will display an explanation of
  2104.      how to use IMcheck.
  2105.  
  2106.      For example: IMCHECK D:\DOS\TEST.* would check all files in
  2107.      the DOS directory on disk D: whose names begin with "TEST". (e.g.,
  2108.      TEST.COM, TEST.ABC, etc.)
  2109.  
  2110.      IMcheck can be very handy when you send files to others and you
  2111.      want to make sure that they got a good copy of your files.  Simply
  2112.      run IMCHECK on your files.  You will see a report like:
  2113.  
  2114.      IMCHECK 1.2 - Integrity Master (TM) standalone file checker.
  2115.      Copyright 1990-1991 by Wolfgang Stiller - all rights reserved.
  2116.      Checking: MYFILE.*
  2117.  
  2118.      File Name + Check Check    File    Update   Update
  2119.      Extension:  Val1: Val2:    Size:   Date:    Time:
  2120.      ----------   ---- ----    -------  ------   ------
  2121.      MYFILE.001   AC57 C1C4       1551 11/05/93 22:38:40
  2122.      MYFILE.DAT   2D53 B1D6       8666 11/07/93 18:57:30
  2123.      Total======> F5AA 66A7
  2124.  
  2125.      Record the check values and make sure the other person runs IMcheck
  2126.      to compare the check values.  The "Total=====>" values will match
  2127.      only if the files are checked in the same order.
  2128.  
  2129.  
  2130.      SPECIAL LICENSE TERMS FOR IMCHECK:
  2131.  
  2132.      Registered users of Integrity Master are granted permission to
  2133.      distribute copies of IMcheck to anyone who needs to verify the
  2134.      integrity of files sent by the registered user.  This other user
  2135.      may use and keep IMcheck but may not further distribute it.
  2136.  
  2137.      ONLY registered (licensed) IM users may distribute IMcheck.
  2138.  
  2139.      ADD-ON PROGRAMS
  2140.  
  2141.      Regisetered user receive some supplementary programs to augment the
  2142.      function of Integrity Master:
  2143.  
  2144.      RunMaybe  Allows you to execute IM (or any other program) on
  2145.                specific days or at specific intervals.  This enables you
  2146.                to do an automatic daily, weekly or monthly check of your
  2147.                PC.
  2148.  
  2149.      ASQ       ASQ analyzes and reports your PC configuration.  It
  2150.                provides both a tutorial on your PC's hardware and
  2151.                configuration as well as an excellent configuration
  2152.                analysis.  (Since ASQ is being provided to Integrity
  2153.                Master customers courtesy of Qualitas (the makers of
  2154.                386MAX(tm), it may be withdrawn or replaced without
  2155.                notice.)  To use ASQ, just type "ASQ" and hit ENTER.
  2156.    Integrity Master (tm)             - 42  -                 Version 3.11
  2157.  
  2158.      RunMaybe - Version 1.1
  2159.  
  2160.      Unlike ASQ, RunMaybe may not be shared with others.  RunMaybe
  2161.      is licensed software available only to Stiller Research customers.
  2162.  
  2163.      WHAT IS RUNMAYBE?
  2164.  
  2165.      RunMaybe is a small, fast (100% assembly language) program that
  2166.      gives you a way to execute a program, DOS command, or batch file
  2167.      on specific days.  By keeping track of when you last executed your
  2168.      program, RunMaybe makes sure that the program is executed when
  2169.      you want and also no more frequently than you desire.
  2170.  
  2171.      o You can choose specific days of the week, days of the month, or
  2172.        an elapsed number of days to determine whether the desired
  2173.        program will be executed.
  2174.  
  2175.      o RunMaybe will (if you wish) run a program at the next
  2176.        opportunity if it was not run on a designated day (with the /N
  2177.        parameter).
  2178.  
  2179.      HOW DO YOU USE RUNMAYBE?
  2180.  
  2181.      1) Decide how often (or on what days) you want to execute your
  2182.         program and formulate an appropriate RunMaybe command.  For
  2183.         example, to execute CHKDSK once a day, you would use the
  2184.         command: "RunMaybe /E CHKDSK".
  2185.  
  2186.      2) You place the RunMaybe command in a batch file that you execute
  2187.         at intervals, such as your AUTOEXEC.BAT file (which is executed
  2188.         every time you boot your PC).
  2189.  
  2190.      HOW TO INSTALL RUNMAYBE
  2191.  
  2192.      o  Copy RUNMAYBE.EXE to any directory on your DOS path. (Type
  2193.         "PATH" and hit ENTER to see what directories are on your path)
  2194.  
  2195.         or
  2196.  
  2197.      o  Copy the RUNMAYBE.EXE program to any convenient directory
  2198.         on your disk. If it is not in a directory on the DOS path, you will
  2199.         need to include the full path of the program to execute it. (e.g, if
  2200.         RUNMAYBE.EXE is located in D:\UTILS\IM, then your batch file
  2201.         command line would look like: "D:\UTILS\IM\RunMaybe /E
  2202.         CHKDSK" )
  2203.  
  2204.      How to execute multiple programs at multiple (varying) intervals:
  2205.  
  2206.      o If you merely want to execute several programs together at a single
  2207.        interval, simply place them all in a batch file and then execute that
  2208.    Integrity Master (tm)             - 43  -                 Version 3.11
  2209.  
  2210.        batch file from RunMaybe.  This can even be done in the middle of
  2211.        another batch file. (There's no need to use CALL to accomplish
  2212.        this).
  2213.  
  2214.      o If you want to run programs at different intervals, then RunMaybe
  2215.        will have to keep track of "last run" information for each program
  2216.        separately.  The best way to do this is to use a different "last run"
  2217.        file for each program you want to schedule.
  2218.  
  2219.        Let's assume you want to run program "PROG1" every second day
  2220.        and that you want to run "PROG2" on Mondays, Wednesdays, and
  2221.        Fridays. You could use the following commands:
  2222.  
  2223.                     "RunMaybe C:\Data\PROG1.LR /E2 PROG1"
  2224.  
  2225.                     "RunMaybe C:\Data\PROG2.LR /W1,3,5 PROG2"
  2226.  
  2227.       In each case, the first parameter ("C:\data\PROG1") specifies the
  2228.       name and directory of the file where RunMaybe will record the
  2229.       "last run" information.
  2230.  
  2231.       The path "C:\DATA\" can be any disk and directory you choose and
  2232.       the file names "PROG1.LR" and "PROG2.LR" can be any file names you
  2233.       choose. When RunMaybe executes for the first time, it will create
  2234.       those files.
  2235.  
  2236.      COMPLETE SYNTAX FOR THE RUNMAYBE COMMAND LINE:
  2237.  
  2238.      RunMaybe [LastRun Filespec] /E# /H /M##,##,##,.. /N /W#,#,#,... ProgName
  2239.  
  2240.      "LastRun FileSpec" - This is optional.  (You only need this if you
  2241.           want multiple programs to run according to different
  2242.           schedules.)  "FileSpec" specifies the name and location of the
  2243.           file where RunMaybe stores the last time and date that it was
  2244.           executed.  Be sure to specify the complete path (disk and
  2245.           directory) so RunMaybe can find this file.  If you don't
  2246.           specify this parameter, RunMaybe will create a last run file
  2247.           called "RUNMAYBE.LR" in the same directory with the
  2248.           RUNMAYBE.EXE program.  RunMaybe will search for "RUNMAYBE.LR"
  2249.           by looking first in the current directory and then in the
  2250.           directory in which the RUNMAYBE.EXE program is located.
  2251.  
  2252.           Use this option if you want to use RunMaybe to run different
  2253.           programs at different intervals.  You will use a different
  2254.           "LastRun" file to keep track of each program.
  2255.  
  2256.      /H or /? produce a help display
  2257.  
  2258.      /N   Specifies that the program should run on the next possible
  2259.           opportunity if it did not run on the designated day. This
  2260.           applies only to the /M and /W parameters.  For example, if you
  2261.           specified that a program should run very Monday but you take a
  2262.           holiday on a particular Monday, the program will be run
  2263.           whenever you return if you include the /N parameter.
  2264.  
  2265.      /E#   Run the program every # days. # must be from 1 to 99 days. If
  2266.           you don't specify a "#" (number of days), then it will default
  2267.           to "1" and the program will be run daily. (For example,
  2268.           "RunMaybe /E2 IM" will run IM every second day.)
  2269.  
  2270.      /M##,##,##... RunMaybe will run the program only on those specific
  2271.           days of any month.  You can specify a single day or a a list
  2272.           of up to 30 days. These days MUST be listed in ascending
  2273.           order. (e.g., "RunMaybe /M10,20,30 CHKDSK" will run CHKDSK on
  2274.           the 10th, 20th and 30th of any month.)
  2275.  
  2276.      /W#,#,#... RunMaybe will run the program only on those specific
  2277.           days of the week. These days MUST be listed in ascending
  2278.           order.  You can specify a single day of the week or a list of
  2279.           up to 6 days.  You specify a number for each day of the week:
  2280.  
  2281.           0 = Sunday    1 = Monday  2 = Tuesday  3=Wednesday
  2282.           4 = Thursday  5 = Friday  6 = Saturday
  2283.  
  2284.    Integrity Master (tm)             - 44  -                 Version 3.11
  2285.  
  2286.           For example, " RunMaybe /M1,3,5 IM" will run IM on Monday,
  2287.           Wednesday and Friday.
  2288.  
  2289.      "ProgName" specifies the name of the DOS command, program or batch
  2290.           file you want to execute.
  2291.  
  2292.           You can include any parameters that the program, command or
  2293.           batch file needs.  You can safely use this command to execute
  2294.           batch files from within other batch files.
  2295.  
  2296.      DOS ERROR LEVELS
  2297.  
  2298.      RunMaybe returns the following DOS error levels for use in your
  2299.      batch files:
  2300.  
  2301.       0   Everything went well and your program was executed.  (Note,
  2302.           that RunMaybe can not actually determine if your program
  2303.           executed correctly; it simply knows that DOS reported no
  2304.           errors.)
  2305.  
  2306.       1   There was no need to run a program at this particular time.
  2307.  
  2308.       64  The system date on the PC is suspect.  The current date is
  2309.           earlier than the date that RunMaybe was last executed.
  2310.  
  2311.      128  A bad or unreadable last run file.  (RunMaybe aborted)
  2312.  
  2313.      200  A problem on the RunMaybe Command line.  (An invalid or
  2314.           missing parameter.)
  2315.  
  2316.      HERE ARE SOME RUNMAYBE EXAMPLES:
  2317.  
  2318.                RunMaybe /E IM /B /VO /DEF /N
  2319.  
  2320.      The above command, if placed in your AUTOEXEC.BAT file, would
  2321.      execute IM daily (/E) (but only once a day even if you boot
  2322.      multiple times). The program IM will be executed with options set
  2323.      to bypass the memory check (/B), scan the entire disk for viruses
  2324.      (/VO) and only pause on serious problems (/N).  Disks E and F will
  2325.      be checked (/DEF).  Note that the only RunMaybe parameter used in
  2326.      this example is "/E".
  2327.  
  2328.                RunMaybe /W1 /N IM
  2329.  
  2330.      This command, if placed in your AUTOEXEC.BAT file, would execute IM
  2331.      once a week on Monday.  Since the "/N" parameter was included it
  2332.      will run IM on the next chance it gets, if you don't boot your PC
  2333.      on Monday.
  2334.  
  2335.                RunMaybe /W1,2,3,4,5 IMBAT \DOS\NewUpl
  2336.  
  2337.      Here IMBAT.BAT is a batch file with these contents:
  2338.  
  2339.      @ECHO OFF
  2340.      IM /B /VR /DE /P%1 /ND
  2341.      IF NOT ERRORLEVEL 64 GOTO OK
  2342.      ECHO A virus was detected - please delete infected
  2343.      PAUSE
  2344.      :OK
  2345.  
  2346.      This will, only on weekdays (days 1 to 5 which represent Monday to
  2347.      Friday), scan the upload directory, "\DOS\NewUpl", for known
  2348.    Integrity Master (tm)             - 45  -                 Version 3.11
  2349.  
  2350.      viruses and display a message to delete the bad files if any are
  2351.      found. "\DOS\NewUpl" is a parameter which is passed to the IMBAT
  2352.      batch file and substituted in the IM command line (in place of  %1)
  2353.      to produce:
  2354.  
  2355.  
  2356.          IM /B /VR /DE /P\DOS\NewUpl /ND
  2357.  
  2358.      IM will bypass memory checking, change to disk E, change to
  2359.      directory \DOS\NewUpl\ and check it for known viruses.  The next
  2360.      line of the IMBAT batch file then checks the DOS Errorlevel. If it
  2361.      is 64 or less no virus was found.
  2362.  
  2363.      OTHER OPERATING SYSTEMS
  2364.  
  2365.      Although Integrity Master is designed to run in the DOS environment
  2366.      on Intel 80x86 family microprocessors, it is useful with other
  2367.      operating systems and processors such as OS/2, Unix, Microsoft
  2368.      Windows (this includes Win 95 and NT) and various Network (LAN)
  2369.      operating systems such as Netware and VINES.  You can even use it
  2370.      on a Macintosh with DOS emulation.  On some of these non-DOS
  2371.      systems you can't check the system sectors in the same way as under
  2372.      DOS since the underlying operating system support is different.
  2373.      Since these operating systems are multitasking, Integrity Master
  2374.      may find that it can't read certain files that are in use by the
  2375.      operating system.  This is normal and will not interfere with a
  2376.      full system check.  There's more information on this in the section
  2377.      on Integrity Master and Disk Problems.
  2378.  
  2379.      While it may be most convenient to do most of your checking under
  2380.      your normal operating system, I strongly suggest that you prepare a
  2381.      DOS boot check and occasionally check under native DOS.  This is
  2382.      currently the only way to give your system the most secure checking
  2383.      possible.
  2384.  
  2385.  
  2386.      MICROSOFT WINDOWS AND OS/2
  2387.  
  2388.      Integrity Master will run quite happily under Windows or OS/2 as a
  2389.      DOS application.  You can even run IM in the background while you
  2390.      use a different application. However, this will probably prevent it
  2391.      from checking whatever files you are currently using.
  2392.  
  2393.      If you are using a non-DOS file system such as the "High
  2394.      Performance File System" (HPFS) under OS/2, Integrity Master will
  2395.      be able to check only those files that DOS can access.  For OS/2
  2396.      HPFS this means that files with more than eight characters in the
  2397.      file name or more than three characters in the extension cannot be
  2398.      checked.  For example, IM could check file 12345678.ABC but not
  2399.      file 123456789.ABC.D under HPFS.
  2400.  
  2401.    Integrity Master (tm)             - 46  -                 Version 3.11
  2402.  
  2403.      When you run IM under Windows or OS/2, it may report "General
  2404.      failure" reading some files.  This is normally a hardware error but
  2405.      in this case it simply means that Microsoft Windows has certain
  2406.      files open. This prevents IM from reading these files but is no
  2407.      cause for concern.  The message returned to IM varies from one PC
  2408.      to another. On some PCs, you may see merely that certain files
  2409.      cannot be opened. When this error occurs, you will see a detailed
  2410.      explanation along with a menu offering several options.  We
  2411.      recommend you select the option to ignore any further open errors;
  2412.      this way you will still see detailed information on any other
  2413.      problems discovered by IM.  You can avoid this error display and
  2414.      most others by using the "/NE" command line parameter (pause on
  2415.      emergencies only).
  2416.  
  2417.  
  2418.      NETWORKS
  2419.  
  2420.      If you have a local area network (LAN), you can use Integrity
  2421.      Master on both the file server and the workstations. (Each
  2422.      workstation requires a separate license for IM; we offer very
  2423.      reasonable site license pricing.) IM can be used on a network by
  2424.      running it on the separate workstations as well as on the server.
  2425.      It can be configured in different ways.  If you place IM.EXE on a
  2426.      shared disk available to all workstations, you can have separate
  2427.      parameter (IM.PRM) files for each workstation or you could have a
  2428.      central IM.PRM in the directory with the shared IM.EXE.  Using a
  2429.      common IM.PRM file makes it easier to copy or move files and then
  2430.      immediately check to make sure the files are intact.  If the server
  2431.      does not run or emulate DOS, then you will need to check the files
  2432.      on the server from one of the DOS workstations.  PART TWO contains
  2433.      a section titled Networks and Viruses that provides some general
  2434.      procedures to make sure you keep your LAN free of viruses. It's
  2435.      particularly important that you follow the guidelines there on
  2436.      access rights and supervisor privileges. If you periodically boot
  2437.      each workstation from a write-protected floppy and do a full check
  2438.      of that PC, you can be assured of maximum protection for your LAN.
  2439.  
  2440.      Using IM on a Network
  2441.      The following suggestions come from users of Integrity Master on a
  2442.      variety of different local area networks.  The details vary slightly
  2443.      from network to network but the following procedure should allow
  2444.      you to get benefit with minimum work.
  2445.  
  2446.        The benefits of this procedure are:
  2447.  
  2448.      1) You can run SetupIM only once to get IM installed for most
  2449.         users, yet anyone who has special needs can configure IM to work
  2450.         exactly the way they want by running SetupIM on their
  2451.         workstation.
  2452.  
  2453.      2) Since there's only one copy of IM.EXE and SetupIM.EXE, you can
  2454.         quickly update everyone's software by doing a single copy
  2455.         operation.
  2456.  
  2457.    Integrity Master (tm)             - 47  -                 Version 3.11
  2458.      3) Any files that are transferred from workstation to workstation
  2459.         can easily have their integrity verified since all workstations
  2460.         share a common integrity data encryption format.
  2461.  
  2462.      4) Each workstation will automatically maintain a complete change
  2463.         history in the form of the report files on that workstation.
  2464.         This facilitates centralized problem solving; if anything stops
  2465.         working on that workstation, the report files provide a complete
  2466.         change log to track down exactly what was changed, added, or
  2467.         deleted.
  2468.  
  2469.      SUGGESTED INSTALLATION:
  2470.  
  2471.      1)  Copy IM*.* and SetupIM.EXE to a directory on a server which is
  2472.          included in the DOS path of all workstations on the LAN.  It's
  2473.          best if LAN access rights do not allow the workstations to
  2474.          write to this directory.
  2475.  
  2476.        An alternate technique is to place a .BAT file to invoke IM on
  2477.        each workstation.  This allows IM.EXE to still be stored in a
  2478.        central location on the network. The batch file would look
  2479.        something like this:
  2480.  
  2481.          Q:\shared\antivir\IM /Dxyz /Q /CE %1 %2 %3
  2482.  
  2483.         In this case, IM.EXE and IM.PRM would be stored on the server's
  2484.         "Q:\shared\antivir" disk.  Disks x, y, and z would be the disks
  2485.         that need to be checked for this workstation. "%1 %2 %3" allows
  2486.         the workstation user to specify some additional IM command line
  2487.         parameters.
  2488.  
  2489.      2) Run SetupIM (new install) on a workstation that has the most
  2490.         common configuration on the LAN.  What matters here is the
  2491.         organization of the disks on the workstation.  By this I mean
  2492.         the physical partitioning of the hard drives.  If the first disk
  2493.         is usually partitioned as two logical drives, choose a PC with
  2494.         that arrangement.  An arrangement that is a superset of another
  2495.         is the best choice.  In other words, if your most common
  2496.         configuration is to have two floppy drives with the first hard
  2497.         drive partitioned as two logical drives, choose such a PC.  But
  2498.         if some of these PCs also have additional hard drives, that's
  2499.         even better. Choose one of the PCs with the extra hard drives to
  2500.         run SetupIM.
  2501.  
  2502.      3) Move the IM.PRM file created in step 2 to the shared directory
  2503.         where the IM.EXE file is located.  This allows all PCs that have
  2504.         a compatible configuration to execute IM and allows you to
  2505.         quickly upgrade to new versions of IM by simply copying the new
  2506.         IM.EXE file over the old one.
  2507.  
  2508.    Integrity Master (tm)             - 48  -                 Version 3.11
  2509.  
  2510.      4) If you have workstations with incompatible configurations or
  2511.         users with special needs, you can run SetupIM separately on
  2512.         those workstations (but do not place a copy of SetupIM on the
  2513.         workstation; simply execute the copy on the server).  This will
  2514.         create an IM.PRM file local to the workstation.  The user of
  2515.         that workstation will still execute the shared copy of IM.EXE
  2516.         but IM will behave according to the configuration and options
  2517.         information stored in the local copy of IM.PRM rather than the
  2518.         shared copy.  It's useful to install a batch file in a directory
  2519.         on the DOS path of the workstation to make sure that the local
  2520.         copy of IM.PRM is always used. The batch file contains this
  2521.         line:
  2522.  
  2523.           IM C:\LOCAL\IM.PRM %1 %2 %3 %4 %4 %5 %6
  2524.  
  2525.          ("C:\LOCAL\IM.PRM" could be any disk, directory or file name.)
  2526.  
  2527.         This procedure allows a single setup for most users, but still
  2528.         allows the flexibility to enable anyone to configure IM exactly
  2529.         the way they want.
  2530.  
  2531.      5) Run an Initialize "Entire disk integrity" ("IM /IE") on each
  2532.         workstation.  This will scan the entire PC for known viruses and
  2533.         also provide full integrity checking of all files.  Next ask IM
  2534.         to initialize the "CMOS memory".  (If you wish to do only
  2535.         conventional virus scanning, you can skip this step.)
  2536.  
  2537.      SUGGESTED USAGE:
  2538.  
  2539.      1) Configure each workstation so that it runs a daily check in
  2540.         "quick update" mode.  The IMQ.BAT and IMONCE.BAT files contain
  2541.         some statements that can be inserted into the AUTOEXEC.BAT file
  2542.         or elsewhere to make sure this happens. (IMAUTO will do this for
  2543.         you.)  Some people prefer to just let the user of each
  2544.         workstation run a quick update once a day (or other appropriate
  2545.         interval). IM comes with RunMaybe, a program that allows you to
  2546.         execute IM (or any other program) at any interval you choose.
  2547.         The quick update (quick scan) will catch viruses as effectively
  2548.         as conventional virus scanning but is much, much, faster and
  2549.         optionally provides a complete change log for the workstation.
  2550.         If you wish to do only conventional virus scanning, you can
  2551.         substitute a virus scan for this step ("IM /VO").
  2552.  
  2553.      2) Each workstation user should use IM to scan or check all new
  2554.         diskettes and especially all new software.  The batch files,
  2555.         IMSCAN, IMSCANM, and IMSCAND, will scan disks, multiple
  2556.         diskettes, or single directories respectively.
  2557.  
  2558.      3) A full integrity check should be run at intervals on each
  2559.         workstation.  This will make sure that the disk is thoroughly
  2560.         checked and will detect more subtle hardware or software
  2561.         problems as well as unknown viruses.  Once a week seems to be
  2562.         the most popular interval to run a full check.
  2563.    Integrity Master (tm)             - 49  -                 Version 3.11
  2564.  
  2565.      CHAPTER FOUR - CUSTOMIZING
  2566.      ____________________________________________________________________
  2567.  
  2568.  
  2569.      CUSTOMIZING INTEGRITY MASTER
  2570.  
  2571.      When you first install Integrity Master, SetupIM does an initial
  2572.      customization for you based upon your needs and preferences.
  2573.      Integrity Master offers you a myriad of different options so that
  2574.      you can set it up to work just the way you want.
  2575.  
  2576.      From the Integrity Master Options menu, you can control almost all
  2577.      options that regulate how IM functions.  Your option changes may be
  2578.      either temporary or permanent.  To make your changes permanent,
  2579.      select "Write option changes to disk" from the Options menu.  This
  2580.      will save your new option settings in the parameter file. These
  2581.      options will be in effect the next time you execute IM.
  2582.  
  2583.      In addition to initially installing IM, SetupIM allows you to
  2584.      change the less frequently used options.  The more advanced options
  2585.      (which you may never need to change) are segregated onto their own
  2586.      menu. These options include turning off virus checking, changing
  2587.      which files IM considers to be programs and deciding where IM will
  2588.      store your integrity data.  SetupIM also allows you to permanently
  2589.      change the colors that IM uses on the display.
  2590.  
  2591.      These options are stored in the parameter file (IM.PRM).  You may,
  2592.      if you wish, keep multiple versions of this file around to
  2593.      represent different sets of options.  You can specify a different
  2594.      name for this file on IM's command line.
  2595.  
  2596.  
  2597.      THE PARAMETER (OPTIONS) FILE
  2598.  
  2599.      The parameter file (IM.PRM) contains all the options that control
  2600.      how IM works.  IM and SetupIM look for this file by searching the
  2601.      following locations:
  2602.  
  2603.        o  the current directory,
  2604.  
  2605.        o  the directory where IM.EXE is located,
  2606.  
  2607.        o  or the root directory on any disk.
  2608.  
  2609.      Whenever you change any options and save the changes, the
  2610.      parameter file is rewritten.  You save the changes by using the
  2611.      option "Write option changes to disk" on IM's Options menu.
  2612.  
  2613.    Integrity Master (tm)             - 50  -                 Version 3.11
  2614.  
  2615.      THE OPTIONS MENU
  2616.  
  2617.      You can reach the Options menu from any primary IM menu by pressing
  2618.      the "O" or alt/O keys.   From the Options menu, you can control
  2619.      almost all options that determine how IM works.  These options
  2620.      include all normal day-to-day choices.  (There are few lesscommonly
  2621.      used options that can only be changed through SetupIM.)
  2622.  
  2623.      ┌──────────╔═══════╗─────────────────────────────────────────────┐
  2624.      │   Help   ║Options║   Check   Initialize    ReLoad    CoMmands  │
  2625.      └─ ╔═══════╝       ╚══════════════════════════╗ ─────────────────┘
  2626.         ║ Write option changes to disk             ║
  2627.         ║ Integrity:  CHECKING ON/off=quick update ║
  2628.         ║ Integrity Update:   Ask for prog changes ║
  2629.         ║ Files to Check:      Executable programs ║
  2630.         ║ Files to iNitialize: Executable programs ║
  2631.         ║ Halt on: ALL changes, adds or deletes    ║
  2632.         ║ Sound ─────────────────────────> ON/off  ║
  2633.         ║ Report: (file or print)--------> on/OFF  ║
  2634.         ║ Video (screen) report ─────────> ON/off  ║
  2635.         ║ Ignore Time/date changes ──────> on/OFF  ║
  2636.         ║ Only changes reported ─────────> on/OFF  ║
  2637.         ║ Exclude:    OFF and exclude report OFF  ║
  2638.         ╚══════════════════════════════════════════╝
  2639.  
  2640.      In addition to allowing you to set all the above options, the
  2641.      Options menu displays the current settings of these options.  The
  2642.      options that have "on/off" settings, are toggled between their "on"
  2643.      and "off" states by pressing the ENTER key.  The current setting of
  2644.      the option is displayed in capital letters, as well as in a
  2645.      distinctive color.
  2646.  
  2647.      Write option changes to disk
  2648.  
  2649.        This allows you to save any changed option settings in the
  2650.        parameter file, making your option changes effective the next
  2651.        time you execute IM. This option does not exist on the SetupIM
  2652.        version of the Options menu. (SetupIM automatically saves any
  2653.        changes unless you tell it not to.)
  2654.  
  2655.      Integrity:  CHECKING ON/off=quick update
  2656.  
  2657.        This is the most crucial item on the Options menu.  Pressing the
  2658.        ENTER key toggles IM between doing full integrity checking and
  2659.        doing only quick integrity data updating.  When you press ENTER,
  2660.        either "Checking ON" or "OFF=Quick update" will be in all capital
  2661.        letters and in a different color (on most displays).  This
  2662.        discloses whether full integrity checking is on or off.  The
  2663.        status of integrity checking is also always visible on the fourth
  2664.        line at the top of the screen.
  2665.  
  2666.        Quick update mode provides a very fast way to bring all your
  2667.        integrity data up-to-date and to scan your disk viruses.  IM
  2668.        reads and integrity checks only files whose size, time stamp or
  2669.        date stamp have changed.  To detect file corruption and  unknown
  2670.        (new) viruses, it's essential to regularly turn "Checking ON" to
  2671.        do full integrity checks.
  2672.    Integrity Master (tm)             - 51  -                 Version 3.11
  2673.      Integrity Update:
  2674.  
  2675.        IM normally updates the integrity data describing a file whenever
  2676.        the file changes (unless the file is affected by a known virus or
  2677.        a disk error).  This option allows you control when IM updates
  2678.        the integrity data describing changed files.  This option is
  2679.        handy if you expect to find some damaged files and you want to
  2680.        save the old integrity data so that you can restore the file and
  2681.        then use IM to verify that the file is back to its original
  2682.        state.  The Option menu item itself displays the current setting
  2683.        for this option.  Integrity Update can have five values:
  2684.  
  2685.        "On for any changes"  - this is the normal mode where the
  2686.                                integrity data will be updated
  2687.                                whenever a file changes.
  2688.  
  2689.        "Off for any changes" - IM will NOT overwrite the old
  2690.                                integrity data with the new when a file
  2691.                                changes.
  2692.  
  2693.        "Off for prog changes"- IM will NOT overwrite the old
  2694.                                integrity data with the new when an
  2695.                                executable file (a program) changes.
  2696.  
  2697.        "Ask for any changes" - IM will ask you if it should overwrite
  2698.                                the old integrity data with the new
  2699.                                when a file changes.
  2700.  
  2701.        "Ask for prog changes"- IM will ask you if it should overwrite
  2702.                                the old integrity data with the new
  2703.                                when an executable file (a program)
  2704.                                changes.
  2705.  
  2706.        "NEVER"               - IM will never update integrity data.
  2707.                                This includes added or deleted files.
  2708.                                (All other options affect only changed
  2709.                                files.)
  2710.  
  2711.        "FORCED"              - IM will always update its integrity
  2712.                                data even if it finds corrupted files or
  2713.                                read errors.
  2714.  
  2715.        The right-most part of the second line at the top of your screen
  2716.        will also display an indication if you have Integrity Updating
  2717.        set to anything other than "On".
  2718.    Integrity Master (tm)             - 52  -                 Version 3.11
  2719.  
  2720.      Files to Check:
  2721.  
  2722.        You can use this option to limit IM's checking to only executable
  2723.        or source programs.  Even if you are interested only in virus
  2724.        detection, I strongly recommend that you also periodically set
  2725.        this option to check all files, so that you can be alerted to the
  2726.        other (more common) causes of file damage.  The Advanced menu in
  2727.        SetupIM allows you to change which files IM considers to be
  2728.        executable or source programs.
  2729.  
  2730.      Files to iNitialize:
  2731.  
  2732.        Use this option to limit IM's initializing of integrity data to
  2733.        only executable or source programs.  Even if your primary
  2734.        interest is viruses only, I strongly recommend that you set this
  2735.        option to read all files, so that you can be alerted to the other
  2736.        (more common) causes of file damage.  The Advanced menu in
  2737.        SetupIM allows you to change which files IM considers to be
  2738.        executable or source programs.
  2739.  
  2740.      Halt on: ALL changes
  2741.  
  2742.        IM lists each new file change that it detects at the top of the
  2743.        report screen.  The other changes on the screen shift downward
  2744.        (scroll) as each new line is added at the top of the screen.  By
  2745.        setting the halt options, you control when this scrolling will
  2746.        pause and wait for you to press a key.  This prevents a change
  2747.        from scrolling off the screen without your having seen it.  The
  2748.        halt options appear on this menu:
  2749.  
  2750.           ╔═════════════════════════════════╗
  2751.           ║ Halt on:                        ║
  2752.           ║ All detected differences        ║
  2753.           ║ Changed files only              ║
  2754.           ║ Changes to Executable programs  ║
  2755.           ║ Changes to any Program          ║
  2756.           ║ File corruption or worse        ║
  2757.           ║ Serious problems                ║
  2758.           ║ Emergencies Only (not viruses)  ║
  2759.           ╚═════════════════════════════════╝
  2760.  
  2761.        If you halt scrolling on "All detected differences", anytime a
  2762.        line written to the report screen is about to disappear off the
  2763.        bottom of the screen, the display will pause and wait for you to
  2764.        press a key to acknowledge that you've seen all the lines on the
  2765.        display.  After you press a key, the display will not pause until
  2766.        all the lines currently on the screen have scrolled off and a new
  2767.        unseen line is about to scroll off the screen.
  2768.  
  2769.        If you halt scrolling on "Changed files only", the scrolling will
  2770.        pause only when a modified file is about to disappear off the
  2771.        bottom of the screen.  After you press ENTER, the display will
  2772.        not stop scrolling until a changed file is about to scroll off
  2773.        the bottom.  This changed file must not have been on the screen
  2774.        during the prior pause.
  2775.  
  2776.    Integrity Master (tm)             - 53  -                 Version 3.11
  2777.  
  2778.        If you halt scrolling on "Changes to Executable programs", the
  2779.        scrolling will pause only when a program is about to disappear
  2780.        off the bottom of the screen.  After you press ENTER, the display
  2781.        will not stop scrolling until a program that was not on the
  2782.        previous display is about to scroll off the bottom.  You can use
  2783.        the "Advanced option" menu in SetupIM to check or change what IM
  2784.        considers to be executable programs.
  2785.  
  2786.        If you halt scrolling on "Changes to any Program", the scrolling
  2787.        will pause only when a program (either source or executable) is
  2788.        about to disappear off the bottom of the screen.  After you press
  2789.        ENTER, the display will not stop scrolling until a program that
  2790.        was not on the previous display is about to scroll off the
  2791.        bottom. You can use the "Advanced option" menu in SetupIM to
  2792.        check or change what IM considers to be either source or
  2793.        executable programs.
  2794.  
  2795.        If you halt scrolling on "File corruption or worse", only signs
  2796.        of viruses, corrupted files, or possible hardware errors will
  2797.        pause the display.
  2798.  
  2799.        If you tell IM to halt on "Serious problems", then the display
  2800.        will pause only when it detects a virus or critical error, such
  2801.        as a hardware error.  This affects scrolling in the same way as
  2802.        using the "/N" parameter on the command line.  If you set halt to
  2803.        this option, be sure that IM is writing a report to a file or to
  2804.        the printer; otherwise, you may miss some important warnings.
  2805.  
  2806.        If you tell IM to halt on "Emergencies Only", then the display
  2807.        will almost never pause.  IM will continue processing even if it
  2808.        detects a known virus in a file or can't read the disk.  IM will
  2809.        only stop if it considers it dangerous to continue, or if you're
  2810.        in danger of losing important information.  This affects
  2811.        scrolling in the same way as using the "/NE" parameter on the
  2812.        command line.  The "/ND" parameter works like "/NE" but IM
  2813.        executes optimized for unattended execution with no screen
  2814.        display of file checking or summary display. If you set halt to
  2815.        "Emergencies only" (/NE or /ND), be sure that IM is writing a
  2816.        report to a file or to the printer, otherwise you may miss some
  2817.        important warnings.
  2818.  
  2819.        You can always halt scrolling by pressing the "P" key.
  2820.  
  2821.      Sound -------------------------> ON/off
  2822.  
  2823.        IM will provide beeps and tones to alert you that something
  2824.        important has happened (or that you've pressed an unsupported
  2825.        key). Pressing ENTER toggles whether or not you hear these
  2826.        sounds.
  2827.  
  2828.    Integrity Master (tm)             - 54  -                 Version 3.11
  2829.  
  2830.      Report: (xxxxxxxxxxxxx)--------> on/OFF
  2831.  
  2832.        This allows you to turn the report file off or to ask IM to write
  2833.        a report of its activities to either the printer or a disk file.
  2834.        The "xxxxxxxxx" on the option line represents the name of the
  2835.        current report file or printer.  The disk file can be
  2836.        automatically named by IM or can be any file of your choice.
  2837.        Please see "The Report File" in Chapter Three for more details on
  2838.        these options.  This option line, along with the third line from
  2839.        the top of IM's screen, display the status of the report file.
  2840.  
  2841.      Video (screen) report ---------> ON/off
  2842.  
  2843.        If you have a very slow video board (such as some old CGA
  2844.        adapters), IM will run a little faster if you turn the screen
  2845.        report off. (Be sure to turn the report file on!)
  2846.  
  2847.      Ignore Time/date changes ------> on/OFF
  2848.  
  2849.        Sometimes the DOS time or date stamp on a file will change, but
  2850.        the file itself won't change.  If you do not want to have such
  2851.        files reported as changed, set this option to "ON".
  2852.  
  2853.      Only changes reported ---------> on/OFF
  2854.  
  2855.        If you do not want reports of added or deleted files, turn this
  2856.        option "on".  If "Only changes reported" is set to "on", then you
  2857.        will see only reports of file changes; IM will not report added
  2858.        or deleted files.  IM will still update the integrity data to
  2859.        reflect the added or deleted files, but it won't report these
  2860.        files.  All other processing also continues normally, including
  2861.        the detection of companion viruses (viruses that appear only as
  2862.        added files).
  2863.  
  2864.      Exclude:   ON  and exclude report  OFF
  2865.  
  2866.        Selecting this option will pop up the Exclude menu:
  2867.  
  2868.           ╔═════════════════════════════════════════╗
  2869.           ║ IM will optionally exclude selected     ║
  2870.           ║ files or directories from checking.     ║
  2871.           ║                                         ║
  2872.           ║ Please press ESCape when you are done   ║
  2873.           ╟─────────────────────────────────────────╢
  2874.           ║ Exclude checking is now OFF; turn it ON ║
  2875.           ║ Reporting is now OFF; turn it ON        ║
  2876.           ║ Select files or directories to exclude  ║
  2877.           ╚═════════════════════════════════════════╝
  2878.  
  2879.        The Exclude menu allows you to exclude files or entire directories
  2880.        from checking, scanning, or initializing.  The bottom line of the
  2881.        Options menu along with the lines on the Exclude menu show
  2882.        whether excluding of files or directories is turned on and whether
  2883.        reporting of excluded objects is turned on.  Either may be toggled
  2884.        on or off at the press of a key.  If reporting of excluded files is
  2885.        "ON" and excluding itself is "ON", then a line will appear on the
  2886.        report every time a file or directory is bypassed from checking,
  2887.    Integrity Master (tm)             - 55  -                 Version 3.11
  2888.  
  2889.        scanning, or initializing. The line will list the particular file
  2890.        or directory that was excluded. If exclude checking is "ON",
  2891.        Integrity Master will exclude the hidden directory "\SENTRY" that
  2892.        Central Point PC Tools and MSDOS use with their "Delete Sentry"
  2893.        method of undelete protection. This directory will be excluded
  2894.        during integrity checking but still be checked when using
  2895.        Integrity Master as a scanner.
  2896.  
  2897.        You may exclude a file by specifying the precise file name or
  2898.        using the wild card characters to specify a series of files.  You
  2899.        can also exclude all files within a directory by excluding that
  2900.        directory from checking. Either files or directories  can be
  2901.        excluded based on wild cards.  For example, you can tell IM to
  2902.        ignore any directory beginning with the characters "IM" by  using
  2903.        the wild card: "IM*".  Or you could tell IM to ignore all your
  2904.        ZIP files (all filenames ending in ".ZIP")  by using the wild
  2905.        card "*.ZIP".
  2906.  
  2907.        When you're entering file or directory names to exclude, you may
  2908.        use the DOS wild card characters: * and ?.  The "*" character
  2909.        matches zero or any number of characters, while "?" matches one
  2910.        and only one character.  Some examples:
  2911.  
  2912.        This name:    Would exclude:       But not:
  2913.         A?.*        AB.ABC, AC.D       ABC.ABC, A.DEF, AX
  2914.         ??.ABC      XY.ABC, AB.ABC    A.ABC, XYZ.ABC
  2915.         A*.A?       A.AB, ABC.AX      A.CB, A.ABC
  2916.  
  2917.        Note that a wild card in the form "X*" will exclude any filename
  2918.        beginning with "X" (with or without an extension) while "X.*" will
  2919.        exclude only files which have an extension.
  2920.  
  2921.        If a file or directory is excluded, Integrity Master will no
  2922.        longer record information for it.  If integrity data already
  2923.        exists, then  IM will remove it.  To make sure you are aware of
  2924.        this, IM will always notify you that it is updating the integrity
  2925.        data.   For this  reason, you may see changes reported in a
  2926.        directory when you otherwise wouldn't expect any.  By asking IM
  2927.        to report what is being excluded you can see exactly what is
  2928.        being affected.
  2929.  
  2930.        Be very careful when excluding directories.  If a directory is
  2931.        excluded, IM will not look at any of the files in that directory
  2932.        or any of the subdirectories within that directory.  This means
  2933.        you can exclude an entire series of subdirectories (and their
  2934.        associated files) by excluding a single directory.
  2935.  
  2936.        If you un-exclude files and directories, they will appear as
  2937.        "added" the next time you run a check.
  2938.  
  2939.    Integrity Master (tm)             - 56  -                 Version 3.11
  2940.  
  2941.      OPTIONS IN SETUPIM
  2942.  
  2943.      When you execute SetupIM for the first time, the Integrity
  2944.      Advisor(tm) will set your options in a way most likely to meet your
  2945.      needs and interests.  You can later go back and change any of the
  2946.      options that were set for you.  If you specify that it's not your
  2947.      first install of IM, you will see this menu:
  2948.  
  2949.           ╔══════════════════════════════════════╗
  2950.           ║ Select an option and press ENTER:    ║
  2951.           ║                                      ║
  2952.           ║ Overview of IM setup and operation   ║
  2953.           ║ Change how Integrity Master operates ║
  2954.           ║ Repeat the install on this PC        ║
  2955.           ║ Install IM on another PC             ║
  2956.           ║ Quit                                 ║
  2957.           ╚══════════════════════════════════════╝
  2958.  
  2959.      From this menu, you can select "Change how Integrity Master
  2960.      operates" and press ENTER.  This brings you to the Change menu:
  2961.  
  2962.           ╔══════════════════════════════════════╗
  2963.           ║ Select an option and press ENTER:    ║
  2964.           ║                                      ║
  2965.           ║ Screen display mode                  ║
  2966.           ║ Integrity data options               ║
  2967.           ║ Advanced options                     ║
  2968.           ║ Toggle CMOS check type (now FULL)    ║
  2969.           ║ Home directory options               ║
  2970.           ║ Update hardware configuration        ║
  2971.           ║ Exit  - save any changes and end     ║
  2972.           ║ Abort - Quit and abandon any changes ║
  2973.           ╚══════════════════════════════════════╝
  2974.  
  2975.      OPTIONS AVAILABLE ONLY IN SETUPIM
  2976.  
  2977.      SetupIM allows you to change certain options that you would only
  2978.      want to change very rarely.  All the options on this menu are not
  2979.      available within IM itself.
  2980.  
  2981.  
  2982. SCREEN DISPLAY MODE
  2983.  
  2984.      This allows you to set the screen colors as explained in the Chapter
  2985.      Two section titled Screen Colors.  Unless you have problems reading
  2986.      the screen, I strongly recommend that you allow IM to continue to
  2987.      operate in automatic video mode.  This way it will choose which
  2988.      colors are best for your video equipment.
  2989.  
  2990.    Integrity Master (tm)             - 57  -                 Version 3.11
  2991.  
  2992.      INTEGRITY DATA OPTIONS
  2993.  
  2994.      This allows you to change how IM stores the integrity data
  2995.      describing your files and system sectors.  You can change the name,
  2996.      attributes, or the location of your integrity data files.  You can
  2997.      also use this menu selection to check what the characteristics of
  2998.      your integrity data files are.
  2999.  
  3000.        INTEGRITY DATA FILE ATTRIBUTES
  3001.  
  3002.        You can ask IM to make your integrity data files hidden,
  3003.        read-only, or both.  Unless you are used to working with
  3004.        read-only and hidden files and consider yourself fairly expert
  3005.        with DOS, we suggest  that you not set these attributes.  There
  3006.        are quite a few programs that will cause confusing results when
  3007.        they work with hidden or read-only files.  These attributes can
  3008.        easily by overridden by a knowledgeable user or program.
  3009.  
  3010.        INTEGRITY DATA FILE NAMES:
  3011.  
  3012.        You can choose the names that IM will use for the integrity data
  3013.        files.  These filenames can be either fixed or variable.  If you
  3014.        did not specify a name for your integrity data files or select
  3015.        variable names, then your integrity data is stored in files named
  3016.        "ZZ##.IM".  Each file has this same fixed name.  If you run
  3017.        SetupIM, you can choose your own name for these files or ask IM
  3018.        to use variable names.  Use the IM  CoMmands menu to remove
  3019.        (Uninstall) the old files before you run SetupIM to assign new
  3020.        names to your integrity data files.
  3021.  
  3022.          VARIABLE INTEGRITY DATA FILE NAMES
  3023.  
  3024.          To make it more difficult for rogue programs to attack your
  3025.          integrity data files, IM can use variable file names.  Both the
  3026.          file name and the extension contain some characters which will
  3027.          be different for each file. Plus, the remainder of the file
  3028.          name will be different for each installation.  When you first
  3029.          install, the Integrity Advisor usually selects variable file
  3030.          names to store your integrity data.  SetupIM will then explain
  3031.          how these file names are formed for your particular
  3032.          installation.  It will also record this in the IMPROC.TXT file
  3033.          in case you need to quickly check this later.  If you install
  3034.          on another PC, these file names will be different unless you
  3035.          use the original parameter file.  To make these files easier
  3036.          for you to find, you may choose part of both the file name and
  3037.          the extension.
  3038.  
  3039.          FIXED INTEGRITY DATA FILE NAMES
  3040.  
  3041.          If you choose fixed file names, then every integrity data file
  3042.          will have the same name.  This makes it very easy to locate
  3043.          these files.  The drawback is that this also makes it very easy
  3044.          for someone else to locate your integrity data files if you
  3045.          keep them in the same directory with the files they describe.
  3046.          A destructive program could deliberately delete these files,
  3047.          causing loss of protection.
  3048.    Integrity Master (tm)             - 58  -                 Version 3.11
  3049.  
  3050.        LOCATION OF INTEGRITY DATA
  3051.  
  3052.        As IM checks your files, it must store the integrity data that
  3053.        describes these files.  Using SetupIM you can change where IM
  3054.        stores these files.  There are two options:
  3055.  
  3056.        1) It can store the integrity data in the same directory along
  3057.           with the files being checked, or
  3058.  
  3059.  
  3060.        2) It can store the integrity data on a separate disk (usually a
  3061.           floppy).
  3062.  
  3063.        Storing the integrity data on a floppy gives you additional
  3064.        protection against a virus or a person changing a file and then
  3065.        modifying the integrity data to cover up the change.  For
  3066.        viruses, this threat is fairly remote since the virus would have
  3067.        to be written specifically to attack files created by IM.  This
  3068.        would be very difficult since these files are encrypted
  3069.        differently on each PC.   Storing the integrity data with the
  3070.        files being checked is usually easier and more flexible since the
  3071.        integrity data can be copied along with the files.  This also
  3072.        makes it easy for you to use IM to verify that you've made a good
  3073.        copy when you copy or move the files. If you want to restore an
  3074.        old copy of a file from a backup, you can restore the integrity
  3075.        data along with the file and then ask IM to check that the file
  3076.        was restored correctly.  If you move your files, it's easier to
  3077.        move the integrity data along with the files if it's stored in
  3078.        the same directory as the files.
  3079.  
  3080.      TOGGLE CMOS CHECK TYPE
  3081.  
  3082.      This option displays the current type of CMOS checking that IM will
  3083.      do (either "CORE", "FULL", or "BASE").  When you hit ENTER the
  3084.      check type will switch between "CORE", "FULL", and "BASE". Full
  3085.      checking will check all of your PC's available CMOS.  Since
  3086.      checking the full CMOS may cause too many reports of changes on
  3087.      some PCs, we offer the option of checking only the more standard
  3088.      "BASE" 64 byte CMOS or the "CORE" CMOS (the portions of the CMOS
  3089.      that are important to the integrity of your PC.)  Changing this
  3090.      option does not affect your ability to reload your full CMOS if it
  3091.      should become necessary.
  3092.  
  3093.      HOME DIRECTORY OPTIONS
  3094.  
  3095.      This allows you to specify a name and location for your home
  3096.      directory.  This is the directory where IM will store its files,
  3097.      including its "auto-named" report files and the reload files.
  3098.      (e.g., BOOT.SRL, PART.SRL, CMOS.SRL).
  3099.  
  3100.    Integrity Master (tm)             - 59  -                 Version 3.11
  3101.  
  3102.      If you have installed a version prior to 2.31, then these files are
  3103.      located in the root directory and you should use this option to
  3104.      activate use of the IM "home directory".  If you are converting
  3105.      from an earlier version, be sure to move your existing files to the
  3106.      "home directory" on each disk after you run SetupIM.
  3107.  
  3108.  
  3109.      UPDATE HARDWARE CONFIGURATION
  3110.  
  3111.      Please use this option whenever you change the configuration of
  3112.      disk drives on your computer, or if you use software that changes
  3113.      the assignment of DOS logical disk letters (A to Z) to your
  3114.      physical disk drives.  SetupIM will check the capabilities of each
  3115.      of your installed disk drives.  This will produce a display showing
  3116.      the drives that SetupIM recognizes.  It will also list any drives
  3117.      that do not contain DOS boot sectors and any that do not have
  3118.      partition sectors (master boot records).
  3119.  
  3120.      EXIT - SAVE ANY CHANGES AND END
  3121.  
  3122.      This updates the parameter file (IM.PRM) with any option changes
  3123.      you've selected, and exits SetupIM.
  3124.  
  3125.      ABORT - QUIT AND ABANDON ANY CHANGES
  3126.  
  3127.      This allows you to exit SetupIM without writing any of your changes.
  3128.      All option settings will be as they were before you entered SetupIM.
  3129.  
  3130.  
  3131.      THE ADVANCED OPTION MENU
  3132.  
  3133.      If you select this option on the SetupIM change menu, the Advanced
  3134.      option menu will appear.
  3135.           ╔════════════════════════════════════════════════╗
  3136.           ║ Select an option and press ENTER:              ║
  3137.           ║ (Press ESCape when you're done)                ║
  3138.           ║                                                ║
  3139.           ║ Specify Names of hidden system files           ║
  3140.           ║ Define which files are Executable programs     ║
  3141.           ║ Define which files are Source programs         ║
  3142.           ║ Check all files for Macros is ON; turn if off  ║
  3143.           ║ Check for virus in memory is ON; turn it off   ║
  3144.           ║ General virus checking is ON; turn it off      ║
  3145.           ║ Change Format for date or time                 ║
  3146.           ╚════════════════════════════════════════════════╝
  3147.  
  3148.      This menu is intended for more technically advanced users.  Most IM
  3149.      users should never need to use this menu.  When you're finished
  3150.      making changes on this menu, just press ESCape to go back to the
  3151.      previous menu.  The Advanced Option menu offers you these options:
  3152.      Specify Names of hidden system files
  3153.  
  3154.    Integrity Master (tm)             - 60  -                 Version 3.11
  3155.  
  3156.      SPECIFY NAMES OF HIDDEN SYSTEM FILES
  3157.  
  3158.        Selecting this option will allow you to change the names of the
  3159.        files that IM recognizes as the hidden system files.  This option
  3160.        is only needed on nonstandard PCs that don't use the standard
  3161.        Microsoft or the IBM names for the hidden system files.  The
  3162.        files SetupIM recognizes by default are: IBMBIO.COM, IBMDOS.COM,
  3163.        IO.SYS and MSDOS.SYS.  If you execute "IMCHECK *.*", in your root
  3164.        directory and you don't see two of the above files, but instead
  3165.        see two other similarly named files, you may wish to use this
  3166.        option so IM recognizes those files.  If you don't understand
  3167.        what this is all about, don't worry.  IM's ability to recognize
  3168.        your hidden system files is NOT that important.  It simply allows
  3169.        IM to provide more specific information in two warning messages.
  3170.  
  3171.      DEFINE WHICH FILES ARE EXECUTABLE PROGRAMS
  3172.  
  3173.        This option allows you to specify which file extensions (the
  3174.        letters after the "." in the file name) IM should consider to
  3175.        represent executable programs.  This is important for three
  3176.        reasons:
  3177.  
  3178.        1) Non-executable files are not normally checked for known viruses.
  3179.  
  3180.        2) IM provides special warning when executable programs change.
  3181.  
  3182.        3) If you use the Options menu to limit checking to executable
  3183.          programs, only these files will be checked.
  3184.  
  3185.        Initially, IM will consider files ending in the following
  3186.        extensions to be executable programs:
  3187.  
  3188.             .OV?  (where ? can be any character)     .DLL
  3189.             .BAT                                     .DRV
  3190.             .BIN                                     .EXE
  3191.             .BTM                                     .PIF
  3192.             .CMD                                     .SYS
  3193.             .COM
  3194.        Note that not all these files can actually be affected by
  3195.        viruses, but all these files in one way or another contain
  3196.        instructions that are executed by your PC.
  3197.  
  3198.      DEFINE WHICH FILES ARE SOURCE PROGRAMS
  3199.  
  3200.        This option allows you to specify which file extensions (the
  3201.        letters after the "." in the file name) IM should consider to be
  3202.        source programs.  Source programs are the programs a programmer
  3203.        would use to create executable programs.  If you are not a
  3204.        programmer then you probably don't care about this option.  This
  3205.        option is intended mostly to provide programmers with extra
  3206.        warning if something or someone is modifying their source code.
  3207.    Integrity Master (tm)             - 61  -                 Version 3.11
  3208.  
  3209.      CHECK ALL FILES FOR MACROS
  3210.  
  3211.        Some programs store sequences of commands called macros in their
  3212.        data files. These macros can be executed just like a program.  In
  3213.        some cases the macros will be automatically executed when the
  3214.        data file is opened. Viruses written in the product's macro
  3215.        language take advantage of this to attach themselves to other
  3216.        files. The Concept virus does this with respect to MS Word
  3217.        documents (actually templates disguised as documents).
  3218.  
  3219.        Using this option you toggle whether IM checks all files for
  3220.        macros or just those files that normally contain macros (e.g.,
  3221.        .DOC and .DOT for MS Word or .XLS for Excel.) If you use
  3222.        nonstandard extensions, you should set this option to check all
  3223.        files for the presence of macros. Checking all files, requires IM
  3224.        to open and partially read all files to determine if they contain
  3225.        macros. Beware: this will slow IM's speed considerably!
  3226.  
  3227.      CHECK FOR VIRUS IN MEMORY
  3228.  
  3229.        Selecting this option will toggle the checking of memory for known
  3230.        viruses on or off.  If you toggle memory checking on, the option
  3231.        line will be changed to read:
  3232.  
  3233.           Check for virus in memory is ON; turn it off.
  3234.  
  3235.        This indicates that memory checking is now "ON".  If you press
  3236.        ENTER at this point, you will turn it "off", and the option will
  3237.        then read:
  3238.  
  3239.           Check for virus in memory is OFF; turn it on.
  3240.  
  3241.        Having this option "ON" allows IM to detect known viruses that
  3242.        are resident in memory.  If you always cold boot from a known
  3243.        good copy of DOS on a write-protected diskette, you could safely
  3244.        turn this option off, since there would be no way for a virus to
  3245.        be resident in memory.  Since it's hard to guarantee that you
  3246.        always cold boot, please leave resident memory checking turned
  3247.        on. If you execute IM multiple times and you don't want to wait
  3248.        for the memory check to complete, you can use the"/B" (Bypass)
  3249.        command line parameter to bypass the resident memory check.
  3250.  
  3251.    Integrity Master (tm)             - 62  -                 Version 3.11
  3252.  
  3253.      GENERAL VIRUS CHECKING
  3254.  
  3255.        Selecting this option and pressing enter will toggle checking of files
  3256.        for known viruses on or off.  If you have absolutely no interest in
  3257.        viruses, you can speed up IM's initialize processing and its check
  3258.        processing (only when it encounters changed files) by 10 to 20
  3259.        percent.  Since this option imposes so little overhead in normal file
  3260.        checking, I suggest everyone leave it turned on.
  3261.  
  3262.    Integrity Master (tm)             - 63  -                 Version 3.11
  3263.  
  3264.  
  3265.      CHAPTER FIVE - ERRORS
  3266.      ____________________________________________________________________
  3267.  
  3268.      ERROR RECOVERY:
  3269.  
  3270.      IM replaces the normal DOS error recovery routines with its own
  3271.      more sophisticated routines.  If you encounter a hardware error,
  3272.      you'll generally see a message announcing what happened followed by
  3273.      a screen that will give you the option of retrying the failed
  3274.      operation, aborting (allowing whatever IM was trying to do, to
  3275.      fail), or other options depending upon the circumstances.  These
  3276.      other options may include "Shelling to DOS".  Shelling allows you
  3277.      to temporarily leave IM and execute any DOS command (such as
  3278.      formatting a disk) you wish.  You then return to IM by typing the
  3279.      EXIT command.  This returns you to the same point in IM, just as if
  3280.      you had never left.
  3281.  
  3282.      SOLVING PROBLEMS:
  3283.  
  3284.      If you encounter a problem with IM, please read file QUESTION.TXT
  3285.      (for a list of common questions and answers) and file SUPPORT.TXT
  3286.      (for the complete procedure on how to quickly get technical
  3287.      support).  File DISKHELP.TXT contains specific information on how
  3288.      to handle problems if IM won't recognize your disk drive.  You can
  3289.      use IMPRINT or IMVIEW to read any of these files. Example:  "IMVIEW
  3290.      SUPPORT.TXT"
  3291.  
  3292.      ANSWERS TO COMMON QUESTIONS:
  3293.  
  3294.      File QUESTION.TXT contains common questions and answers regarding
  3295.      IM.  You can read these by entering the command "IMVIEW
  3296.      QUESTION.TXT" at the DOS prompt or print them with the command
  3297.      "IMPRINT QUESTION.TXT".
  3298.  
  3299.     Integrity Master (tm)           - 64-         Data Integrity and Viruses
  3300.  
  3301.                                      NOTES
  3302.  
  3303.     Integrity Master (tm)           - 65 -        Data Integrity and Viruses
  3304.  
  3305.  
  3306.                                    PART TWO
  3307.  
  3308.  
  3309.                           Data Integrity and Viruses
  3310.  
  3311.  
  3312.                  ___________________________________________
  3313.  
  3314.  
  3315.                 How do I make sure that my programs and files
  3316.                                really are safe?
  3317.  
  3318.  
  3319.                 What threats are even more likely to damage my
  3320.                               data than viruses?
  3321.  
  3322.  
  3323.                       What really works against viruses?
  3324.  
  3325.  
  3326.                       What doesn't work against viruses?
  3327.  
  3328.  
  3329.                         Why are viruses so dangerous?
  3330.  
  3331.  
  3332.                             How do I kill a virus?
  3333.  
  3334.  
  3335.                  ___________________________________________
  3336.  
  3337.  
  3338.  
  3339.          Copyright 1990-1997, Wolfgang Stiller, All rights reserved.
  3340.  
  3341.  
  3342.     Integrity Master (tm)           - 66 -        Data Integrity and Viruses
  3343.     Integrity Master (tm)           - 67 -        Data Integrity and Viruses
  3344.  
  3345.  
  3346.      PART TWO - Data Integrity and Viruses
  3347.  
  3348.      CHAPTER ONE - THREATS TO YOUR DATA
  3349.      ____________________________________________________________________
  3350.  
  3351.  
  3352.      INTRODUCTION - VIRUSES GET ALL THE GLORY
  3353.  
  3354.      Do you have data or programs on your PC which you can't afford to
  3355.      have unexpectedly damaged?  How can you make sure that your data
  3356.      is safe?  To protect the integrity of your data, you must first
  3357.      understand the nature of the threats against it.
  3358.  
  3359.      The most publicized threats to your computer are software-based
  3360.      attacks often lumped together as "viruses" by the media.  Although
  3361.      viruses are often sensationalized by media coverage, they do
  3362.      present a very real menace to your data.  (See the section in this
  3363.      chapter titled How serious are viruses?.)  Even if a virus never
  3364.      attacks your PC, it is almost inevitable that system glitches will
  3365.      someday corrupt data or programs on your PC.  Considering that
  3366.      viruses are but one threat to your data and not the most likely
  3367.      threat by far, it's ironic that so many people have anti-virus
  3368.      software but so few people take steps to protect the integrity of
  3369.      their programs and data from other hazards.  Can anyone afford NOT
  3370.      to know that each and every byte on their disk is undamaged?
  3371.  
  3372.      So what's the explanation?  Why do so few people take steps to
  3373.      assure the integrity of the data on their PCs?  The main reason is
  3374.      that data integrity gets almost no media coverage (even in the
  3375.      trade journals), while a virus story may make the local evening
  3376.      news.  The result is that people just don't give data integrity a
  3377.      second thought.  It's all too easy to take the reliability of our
  3378.      modern PCs for granted -- and, as you'll see, all too dangerous!
  3379.  
  3380.      You may be reading this primarily because you're interested in
  3381.      viruses. If that's true, then, for you, the media attention to
  3382.      viruses will have had a very beneficial effect.  You are about to
  3383.      learn how to protect your PC against much more than just viruses!
  3384.      Data integrity is not a very glamorous subject, yet it's both
  3385.      crucial and fundamental to using any computer.  Without positive
  3386.      assurance of data integrity, computers cannot be depended upon to
  3387.      process any type of important data.  How would you respond if
  3388.      someone were going to change a byte of data somewhere at random on
  3389.      your disk?  You'd be pretty upset -- right?  Well, the odds are, it
  3390.      has already happened but you were not aware of it.  Perhaps the
  3391.      result was that a program quit working or CHKDSK/Scandisk found
  3392.      lost or cross-linked clusters. Or perhaps, if you're lucky, the
  3393.      damage was to some inconsequential part of your disk. Let's explore
  3394.      the different threats to your files and programs:
  3395.     Integrity Master (tm)           - 68 -        Data Integrity and Viruses
  3396.  
  3397.      HARDWARE AND POWER FAULTS
  3398.  
  3399.      These are well known but also all too common.  We all know that
  3400.      when your PC or disk gets old, it might start acting erratically
  3401.      and damage some data before it totally dies.  Unfortunately,
  3402.      hardware errors frequently damage data on even young PCs and disks.
  3403.  
  3404.      Your PC is busy writing data to the disk and the lights go out!
  3405.      "Arghhhh!"  Is everything OK?  Maybe so, but it's vital to know for
  3406.      sure if anything was damaged.  If your disk drive is starting to
  3407.      fail, you may start to experience occasional damage to your files.
  3408.      Regrettably, it's not a question of "if", but a question of "when"
  3409.      in regard to disk failure.  There are tools (NORTON, MACE, PCtools,
  3410.      etc) to assist in recovery from disk problems, but how do you know
  3411.      all the data is OK?  These tools do not always recover good copies
  3412.      of the original files.  It's vital to have some way to check that
  3413.      these tools really do their job correctly.
  3414.  
  3415.      You can have hardware problems on a perfectly healthy PC if you
  3416.      have devices installed that do not properly share interrupts.  This
  3417.      problem is getting more and more frequent as we see multiple
  3418.      adapters installed in a PC that use the same interrupt (IRQ).
  3419.      Sometimes problems are immediately obvious, other times they are
  3420.      subtle and depend upon certain events to happen at just the wrong
  3421.      time, then suddenly strange things happen!
  3422.  
  3423.  
  3424.      FINGER CHECKS (TYPOS AND "OOPS! I DIDN'T MEAN TO DO THAT.")
  3425.  
  3426.      These are an all too frequent cause of data corruption.  This
  3427.      commonly happens when you are intending to delete or replace one
  3428.      file but actually get another.  By using wild cards, you may
  3429.      experience a really "wild" time.  "Hmmm I thought I deleted all the
  3430.      *.BAK files . . . but they're still here . . . something was
  3431.      deleted . . . what was it? . . . or was I in the other directory?"
  3432.      Of course if you're a programmer or if you use sophisticated tools
  3433.      like Norton's sector editor (NU), then your fingers can really get
  3434.      you into trouble!
  3435.  
  3436.  
  3437.      MALICIOUS OR CARELESS DAMAGE
  3438.  
  3439.      Someone may accidentally or deliberately delete or change a file on
  3440.      your PC when you're not around.  If you don't keep your PC locked
  3441.      in a safe, then this is a risk.  Who knows what was changed or
  3442.      deleted?  Wouldn't it be nice to know if anything changed over the
  3443.      weekend?  Most of such damage is done unintentionally by someone
  3444.      who you probably know.  This person didn't mean to cause trouble;
  3445.      he simply didn't know what he was doing when he used your PC.
  3446.      Software Problems
  3447.  
  3448.      This category accounts for more damage to programs and data than
  3449.      any other.  We're talking about non-malicious software problems
  3450.      here, not viruses.  Software conflicts, by themselves, are much
  3451.      more likely threats to your PC than virus attacks.
  3452.  
  3453.      We run our PCs today in a complex environment.  There are many
  3454.      resident programs (TSRs such as Sidekick) running simultaneously
  3455.      with various versions of DOS, BIOS and device drivers.  All these
  3456.      programs execute at the same time, share data and are vulnerable to
  3457.      unforeseen interactions between each other.   Naturally, this means
  3458.      that there may be some subtle bugs waiting to "byte" us.  Anytime a
  3459.      program goes haywire, there's the risk it may damage information on
  3460.      disk.
  3461.  
  3462.      There's the further problem that not all programs do what we hope
  3463.      they will.  If you have just undeleted a file, did you really get
  3464.      all the correct clusters back in the right order?   When CHKDSK or
  3465.      Scandisk  "fixes" your disk for you, isn't it essential to know
  3466.      exactly what files it changed to do its job?  This is one more
  3467.      reason why everyone must have the capability to verify data
  3468.      integrity.
  3469.  
  3470.     Integrity Master (tm)           - 69 -        Data Integrity and Viruses
  3471.  
  3472.      DANGER WITH COMPRESSION AND CACHE
  3473.  
  3474.      Disk cache and compression programs (e.g. DriveSpace or Stacker)
  3475.      can cause random and unpredictable errors when reading or writing
  3476.      the disk.  This can cause random damage to your data. In chapter
  3477.      six, I offer a full explanation of how to make sure you are using
  3478.      such programs safely.
  3479.  
  3480.  
  3481.      SOFTWARE ATTACKS
  3482.  
  3483.      These are programs written deliberately to vandalize someone's
  3484.      computer or to use that computer in an unauthorized way.  Even
  3485.      though some viruses do not intentionally damage your data, I
  3486.      consider all viruses to be malicious software since they modify
  3487.      your programs without your permission, with occasional disastrous
  3488.      results.  There are many forms of malicious software; sometimes the
  3489.      media refers to all malicious software as viruses.  It's important
  3490.      to understand the distinction between the various types.  Let's
  3491.      examine the different types of malicious software.
  3492.  
  3493.  
  3494.      LOGIC BOMBS
  3495.  
  3496.      Just like a real bomb, a logic bomb will lie dormant until
  3497.      triggered by some event.  The trigger can be a specific date, the
  3498.      number of times executed, a random number, or even a specific event
  3499.      such as deletion of an employee's payroll record.  When the logic
  3500.     Integrity Master (tm)           - 70 -        Data Integrity and Viruses
  3501.  
  3502.      bomb is triggered, it will usually do something unpleasant. This
  3503.      can range from changing a random byte of data somewhere on your
  3504.      disk to making the entire disk unreadable.  Changing random data
  3505.      may be the most insidious attack since it generally causes
  3506.      substantial damage before anyone notices that something is wrong.
  3507.      It's vital to have some data integrity software in place so that
  3508.      such damage can be quickly detected.  Although you can detect it
  3509.      after the fact, there is unfortunately no way to prevent a well
  3510.      written logic bomb from damaging your system.  On the other hand, a
  3511.      logic bomb that uses standard DOS or BIOS requests to do its dirty
  3512.      work can be caught by most interceptor type programs (see Chapter
  3513.      Two).
  3514.  
  3515.  
  3516.      TROJANS
  3517.  
  3518.      These are named after the Trojan horse, which delivered soldiers
  3519.      into the city of Troy.   Likewise, a trojan program is a vehicle
  3520.      for delivering some destructive code (such as a logic bomb or a
  3521.      virus) into a computer.  The trojan program appears to be a useful
  3522.      program of some type, but when a certain event occurs, it does
  3523.      something nasty and often destructive to the system.
  3524.  
  3525.  
  3526.      WORMS
  3527.  
  3528.      A worm is a self-reproducing program that does not infect other
  3529.      programs as a virus will, but instead creates copies of itself,
  3530.      that create even more copies.   These are usually seen on networks
  3531.      and on multi-tasking operating systems, where the worm will create
  3532.      copies of itself that are also executed.  Each new copy will create
  3533.      more copies quickly clogging  the system.  The so-called
  3534.      ARPANET/INTERNET "virus" was actually a worm. It created copies of
  3535.      itself through the ARPA network, eventually bringing the network to
  3536.      its knees.  It did not infect other programs as a virus would, but
  3537.      simply kept creating copies of itself that would then execute and
  3538.      try to spread to other machines.
  3539.  
  3540.  
  3541.      VIRUSES
  3542.  
  3543.      Viruses are a subject of much confusion and a target of
  3544.      considerable misinformation even from some so-called virus experts.
  3545.      Let's define what we mean by virus:
  3546.  
  3547.      A virus is a program that reproduces its own code by attaching
  3548.      itself to other programs in such a way that the virus code is
  3549.      executed when the infected program is executed.
  3550.  
  3551.      You could probably also say that the virus must do this without the
  3552.      permission or knowledge of the user, but that's not a vital
  3553.      distinction for purposes of our discussion here.
  3554.  
  3555.     Integrity Master (tm)           - 71 -        Data Integrity and Viruses
  3556.  
  3557.      Most viruses do their "job" by placing self-replicating code in
  3558.      other programs, so that when those other programs are executed,
  3559.      even more programs are "infected" with the self-replicating code.
  3560.      This self-replicating code, when triggered by some event, may do a
  3561.      potentially harmful act to your computer.  Viruses are initially
  3562.      distributed in the form of a trojan.  In other words, the virus
  3563.      code has been planted in some useful program.  Since the virus
  3564.      infects other useful programs, absolutely any piece of executable
  3565.      code can suddenly become a trojan delivery vehicle for the virus.
  3566.  
  3567.      Another way of looking at viruses is to consider them to be
  3568.      programs written to create copies of themselves.  These programs
  3569.      attach these copies onto other programs (infecting those programs).
  3570.      When one of these other programs is executed, the virus code (which
  3571.      was attached to that program) executes, and links copies of itself
  3572.      to even more programs.
  3573.  
  3574.  
  3575.      GENERAL VIRUS BEHAVIOR
  3576.  
  3577.      Viruses come in a great many different forms, but they all
  3578.      potentially have two phases to their execution, the infection phase
  3579.      and the attack phase:
  3580.  
  3581.   1) When the virus executes, it will infect other programs.  What's
  3582.      often not clearly understood is precisely WHEN it will infect the
  3583.      other programs.  Some viruses infect other programs each time they
  3584.      are executed; other viruses infect only upon a certain trigger.
  3585.      This trigger could be anything; it could be a day or time, an
  3586.      external event on your PC, a counter within the virus, etc.  Modern
  3587.      viruses have become more selective about when they infect programs.
  3588.      Being selective improves the virus' chance to spread; if they
  3589.      infect too often, they will tend to be detected before they have
  3590.      enough time to spread widely. Virus writers want their programs to
  3591.      spread as far as possible before anyone notices them.  This brings
  3592.      up an important point which bears  repeating:
  3593.  
  3594.      It is a mistake to execute a program a few times, find nothing
  3595.      infected, and presume there are no viruses in the program. You can
  3596.      never be sure that the virus simply hasn't triggered its infection
  3597.      phase!
  3598.  
  3599.      Many viruses go resident in the memory of your PC in the same way
  3600.      as terminate and stay resident (TSR) programs such as Sidekick.
  3601.      This means the virus can wait for some external event before it
  3602.      infects additional programs.  The virus may silently lurk in memory
  3603.      waiting for you to insert a diskette, copy a file, or execute a
  3604.      program, before it infects any other programs.  This makes these
  3605.      viruses more difficult to analyze since it's hard to guess what
  3606.      trigger condition they use for their infection.  Resident viruses
  3607.     Integrity Master (tm)           - 72 -        Data Integrity and Viruses
  3608.  
  3609.      frequently corrupt the system software on the PC to hide their
  3610.      existence.  This technique is called "stealth" and I'll cover this
  3611.      in more detail shortly.
  3612.  
  3613.   2) The second phase is the attack phase.  Many viruses do unpleasant
  3614.      things such as deleting files or changing random data on your disk,
  3615.      simulating typos or merely slowing your PC down; some viruses do
  3616.      less harmful things such as playing music or creating messages or
  3617.      animation on your screen.  Just as the virus's infection phase can
  3618.      be triggered by some event, the attack phase also has its own
  3619.      trigger. Viruses usually delay revealing their presence by
  3620.      launching their attack only after they have had ample opportunity
  3621.      to spread.  This means that the attack may be delayed for years
  3622.      after the initial infection.  The attack phase is optional; many
  3623.      viruses simply reproduce and have no trigger for an attack phase.
  3624.      Does this mean that these are "good" viruses?  No, unfortunately
  3625.      not!  Anything that writes itself to your disk without your
  3626.      permission is stealing storage and CPU cycles.  This is made worse
  3627.      since viruses that "just infect", with no attack phase, damage the
  3628.      programs or disks they infect.  This is not an intentional act of
  3629.      the virus, but simply a result of the fact that many viruses
  3630.      contain extremely poor quality code.  One of the most common
  3631.      viruses, the STONED virus is not intentionally harmful.
  3632.      Unfortunately, this virus will write to an area on diskettes that
  3633.      may result in  file corruption.
  3634.  
  3635.      Now that we've examined general virus behavior, let's take a closer
  3636.      look at the two major categories of viruses and how they operate.
  3637.  
  3638.      SYSTEM SECTOR VIRUSES
  3639.  
  3640.      These are viruses that plant themselves in your system sectors.
  3641.      System sectors are special areas on your disk containing programs
  3642.      that are executed when you boot your PC.  Sectors are not files but
  3643.      simply small areas on your disk that your hardware reads in single
  3644.      chunks. Under DOS, sectors are most commonly 512 bytes in length.
  3645.      These sectors are invisible to normal programs but are vital for
  3646.      correct operation of your PC.  They are a common target for
  3647.      viruses. There are two types of system sectors found on DOS PCs:
  3648.  
  3649.      DOS BOOT SECTORS
  3650.  
  3651.      The very first sector on a disk or diskette that DOS is aware of is
  3652.      the boot sector.  From a DOS perspective, this is the first sector
  3653.      on a disk.  This sector can contain an executable program whether
  3654.      the disk is bootable or not.  Since this program is executed every
  3655.      time you power on or boot your PC, it is very vulnerable to virus
  3656.      attack. Damage to this sector can make your disk appear to be
  3657.      unreadable.
  3658.  
  3659.      This sector is rewritten whenever you do a "SYS" or a "FORMAT /S"
  3660.      to a disk.
  3661.     Integrity Master (tm)           - 73 -        Data Integrity and Viruses
  3662.  
  3663.      Warning: Even a non-bootable floppy can contain a virus in  the
  3664.      boot sector.  If you leave the floppy in your PC when you power on
  3665.      or boot, you will be infected even though the PC won't successfully
  3666.      boot from that floppy.
  3667.  
  3668.  
  3669.      PARTITION SECTORS
  3670.  
  3671.      On hard (fixed) disk drives, the very first sector is the partition
  3672.      sector (also known as the master boot record or partition table).
  3673.      Each physical hard disk drive has one of these sectors.  A single
  3674.      physical disk can be partitioned into one or more logical disks.
  3675.      For example, you may have a physical drive partitioned into C: and
  3676.      D: logical disks so that your single physical disk appears (to DOS)
  3677.      to be two logical disks.  The single partition sector contains the
  3678.      information that describes both logical disks. If the partition
  3679.      sector is damaged, then DOS may not even recognize that your disk
  3680.      exists.
  3681.  
  3682.      The partition sector also contains a program that is executed every
  3683.      time you power up or boot your PC.  This program executes and reads
  3684.      the DOS boot sector that also contains a program.  Many viruses
  3685.      plant their code in the partition sector.
  3686.  
  3687.      System sector viruses modify the program in either the DOS boot
  3688.      sector or the partition sector.  Since there isn't much room in the
  3689.      system sector (only 512 bytes), these viruses usually have to hide
  3690.      their code somewhere else on the disk.  These viruses sometimes
  3691.      cause problems when this spot already contains data that is then
  3692.      overwritten. Some viruses, such as the Pakistani BRAIN virus, mark
  3693.      the spot where they hide their code as bad clusters.  This is one
  3694.      reason to be alarmed if CHKDSK (or Scandisk)suddenly reports
  3695.      additional bad sectors on your disk.  These viruses usually go
  3696.      resident in memory on your PC, and infect any floppy disk that you
  3697.      access.  Simply doing a DIR on a floppy disk may cause it to be
  3698.      infected.  Some viruses will infect your diskette immediately when
  3699.      you close the drive door.  Since they are active in memory
  3700.      (resident), they can hide their presence.  If BRAIN is active on
  3701.      your PC, and you use a sector editor such as Norton's NU to look at
  3702.      the boot sector of an infected diskette, the virus will intercept
  3703.      the attempt to read the infected boot sector and return instead a
  3704.      saved image of the original boot sector.  You will see the normal
  3705.      boot sector instead of the infected version.  Viruses that do this
  3706.      are known as stealth viruses.
  3707.  
  3708.      In addition to infecting diskettes, some system sector viruses
  3709.      spread by also infecting files.  Viruses of this type are called
  3710.      "multipartite" (multiple part) viruses.  Since they can infect both
  3711.      files and system sectors, they have more avenues to spread and are
  3712.      more difficult to remove.
  3713.     Integrity Master (tm)           - 74 -        Data Integrity and Viruses
  3714.  
  3715.      FILE VIRUSES
  3716.  
  3717.      In terms of sheer number of viruses, these are the most common
  3718.      kind. The simplest file viruses work by locating a type of file
  3719.      that they know how to infect (usually a file name ending in ".COM"
  3720.      or ".EXE") and overwriting part of the program they are infecting.
  3721.      When this program is executed, the virus code executes and infects
  3722.      more files. These overwriting viruses do not tend to be very
  3723.      successful since the overwritten program rarely continues to
  3724.      function correctly and the virus is almost immediately discovered.
  3725.      The more sophisticated file viruses save (rather than overwrite)
  3726.      the original instructions when they insert their code into the
  3727.      program.  This allows them to execute the original program after
  3728.      the virus finishes so that everything appears normal.  Just as
  3729.      system sector viruses can remain resident in memory and use
  3730.      "stealth" techniques to hide their presence, file viruses can hide
  3731.      this way also.  If you do a directory listing, you will not see any
  3732.      increase in the length of the file and if you attempt to read the
  3733.      file, the virus will intercept the request and return your original
  3734.      uninfected program to you.  This can sometimes be used to your
  3735.      advantage.  If you have a "stealth" virus (such as 4096 or Dir-2),
  3736.      you can copy your program files (*.EXE and *.COM files) to files
  3737.      with other extensions and allow the virus to automatically
  3738.      disinfect your files!  If you "COPY *.COM  *.CON", and then cold
  3739.      boot your PC from a known good copy of DOS and "REN *.CON  *.COM",
  3740.      this will disinfect the renamed files.
  3741.  
  3742.      Some file viruses (such as 4096) also infect overlay files as well
  3743.      as the more usual *.COM and *.EXE files.  Overlay files have
  3744.      various extensions, but ".OVR" and ".OVL" are common examples.
  3745.  
  3746.  
  3747.      MIRACLE INFECTIONS
  3748.  
  3749.      Would you believe that a virus can infect your files without
  3750.      changing a single byte in the file?  Well, it's true!  There are
  3751.      two types of viruses that can do this.  The more common kind is
  3752.      called the companion or spawning type virus.  This virus infects
  3753.      your files by locating a file name ending in ".EXE".  The virus
  3754.      then creates a matching file name ending in ".COM" that contains
  3755.      the viral code. Here's what happens; let's say a companion virus is
  3756.      executing (resident) on your PC and decides it's time to infect a
  3757.      file.  It looks around and happens to find a file called "WP.EXE".
  3758.      It now creates a file called "WP.COM" containing the virus.   The
  3759.      virus usually plants this file in the current directory although it
  3760.      could place it in any directory on your DOS path.  If you type "WP"
  3761.      and press ENTER, DOS will execute "WP.COM" instead of "WP.EXE".
  3762.      The virus executes, possibly infecting more files and then loads
  3763.      and executes "WP.EXE".  The user probably won't notice anything
  3764.      wrong.  This type of virus is fortunately easy to detect by the
  3765.      presence of the extra ".COM" files.  There are some instances where
  3766.      it is normal to have both ".COM" and ".EXE" files of the same name
  3767.     Integrity Master (tm)           - 75 -        Data Integrity and Viruses
  3768.      (such as DOS 5's DOSSHELL) but this is relatively rare.  Companion
  3769.      viruses could also work by creating other file types such as .EXE
  3770.      files to match existing .BAT files. A companion virus could also
  3771.      insert matching executable files into a different directory on your
  3772.      DOS path. Since DOS searches the directories in the PATH
  3773.      sequentially, a file in an earlier directory will be executed
  3774.      before one contained in a later directory. Be sure to look very
  3775.      closely if you notice unexpected new files appearing on your disk.
  3776.  
  3777.      There is another type of virus known as a "cluster" virus that
  3778.      infects your files not by changing the file or planting extra files
  3779.      but by changing the DOS directory information so that directory
  3780.      entries point to the virus code instead of the actual program.
  3781.      When you type the name of the program, DOS loads and executes the
  3782.      virus code, the virus then locates the actual program and executes
  3783.      it.  Dir-2 is an example of this type of virus and is now spreading
  3784.      rapidly around the world.  I am deliberately keeping the
  3785.      description of this type of virus rather vague to avoid making it
  3786.      easier to write this type of virus.
  3787.  
  3788.  
  3789.      MACRO VIRUSES
  3790.  
  3791.      Many programs (e.g., most spreadsheets and word processors) provide
  3792.      what they call a "macro" capability.  In their most simple form,
  3793.      macros allow you to record key strokes and then later play them
  3794.      back. Many popular programs, such as MS Word, Excel, AmiPro, and
  3795.      Lotus 1-2-3, go far beyond keystroke recording and provide a mini
  3796.      programming language. The macros are intended to help users of
  3797.      these products to automate routine or complicated tasks but they
  3798.      can also be used to write viruses.  Since these macros can then be
  3799.      saved in data files by the program, these data files must be
  3800.      considered to be executable (at least for people who have the
  3801.      program that can execute the macros stored in these files).  These
  3802.      data files cannot execute by themselves but require the program
  3803.      (i.e, the word processor or spreadsheet) to execute them.
  3804.  
  3805.      Any program that supports such macros (especially if there is a way
  3806.      to automatically execute such macros without the user being aware)
  3807.      is potentially susceptible to infection by a virus written in the
  3808.      macro language used by that product.  We have currently seen a
  3809.      number of viruses that infect MS Word documents (and recently AMI
  3810.      Pro documents).
  3811.  
  3812.      The very first macro virus to spread in the wild was Concept (AKA
  3813.      "Prank Macro" and WordMacro.Concept). (It was discovered in August
  3814.      of 1995)   This virus is now one of the most common viruses
  3815.      world-wide based on reports from our customers.
  3816.  
  3817.      Concept can infect any computer that uses MS Word 6.0 (or later
  3818.     Integrity Master (tm)           - 76 -        Data Integrity and Viruses
  3819.      release).   Since there is also a version of MS Word for Apple
  3820.      Macintosh computers as well as PCs, this virus will spread to (or
  3821.      from) a Macintosh if an infected document is exchanged.  While
  3822.      Concept can spread outside the PC environment, it's important to
  3823.      recognize this is a very limited virus.  It will only spread to
  3824.      computers running MS Word.  Actually it's more limited than that;
  3825.      it will only spread to computers using English language versions of
  3826.      MS Word 6.0. It will not spread to German, French, Spanish, or
  3827.      Russian versions of MS Word.
  3828.  
  3829.      If you take a quick look at Concept, it seems to break the rules
  3830.      for viruses. Concept infects MS Word documents.  Simply opening an
  3831.      infected document causes the virus to infect your PC.  I mentioned
  3832.      previously that viruses infect only executable programs. It seems a
  3833.      contradiction that a virus could infect documents.  I also stated
  3834.      that to become infected by a virus, you must execute an infected
  3835.      program. Both these statements still hold true. To see how this is
  3836.      possible, let's take a close look at how Concept works.
  3837.  
  3838.      HOW CONCEPT WORKS:
  3839.  
  3840.      Concept was written using the "Macro" capability built into MS
  3841.      Word.  Actually it is somewhat of a misnomer to call this just a
  3842.      macro capability since it uses a full programming language called
  3843.      Word Basic that Microsoft provides with each copy of Word.  The
  3844.      virus was written in Word Basic.  But MS Word documents can't
  3845.      contain macros so how does the virus attach itself to documents?
  3846.      It does this by creating a "template" rather than a document.
  3847.      Templates are special files supported by MS word that are used as a
  3848.      pattern for new documents.  Templates, unlike documents can contain
  3849.      macros. Concept causes infected documents to be saved as templates
  3850.      but with the ".DOC" extension normally associated with documents.
  3851.      After this happens, the original document no longer exists as a
  3852.      document but rather as a template with a ".DOC" extension.
  3853.      Templates normally have ".DOT" extensions so the fact that the
  3854.      document has been converted to a template is not at all obvious.
  3855.  
  3856.      The virus consists of the macros that are stored inside of the
  3857.      template. But what causes the virus macros to be executed in the
  3858.      first place?
  3859.  
  3860.      AUTOMATIC MACRO VIRUS EXECUTION
  3861.  
  3862.      MS Word provides the capability to automatically execute a macro
  3863.      (in this case a Word Basic program) when you open a new template.
  3864.      The infected templates contain such an AutoOpen macro; this is how
  3865.      the virus code (in the form of a Word Basic macro program) is
  3866.      executed when you open an infected document.
  3867.  
  3868.      This makes the virus very deceptive. Few users of MS Word realize
  3869.      that every time they open what they think is a document, they could
  3870.     Integrity Master (tm)           - 77 -        Data Integrity and Viruses
  3871.      be executing a viral program.  This exposure is not unique to MS
  3872.      Word but it is also present in other environments that support
  3873.      macro languages such as MS Excel, Amir Pro, Lotus 1-2-3, and Quatro
  3874.      Pro.
  3875.  
  3876.      HOW CONCEPT SPREADS
  3877.  
  3878.      Concept creates a "FileSaveAs" macro.  This is the code that
  3879.      executes when you select "File Save As" from the MS Word File menu.
  3880.      After opening an infected document, any use of "File Save As" will
  3881.      result in the document being saved as an infected template with the
  3882.      standard ".DOC" extension normally associated with documents. Since
  3883.      documents and templates are handled almost identically by MS Word,
  3884.      the user is not aware that anything unusual has happened when
  3885.      document is converted to an infected template by the "FileSaveAs"
  3886.      macro.
  3887.  
  3888.      Another interesting aspect of this virus is that once you open an
  3889.      infected document, the MS Word environment itself becomes infected.
  3890.      This means that if you restart MS Word with no files open, you will
  3891.      already be infected; all files saved with "File Save As" will be
  3892.      infected templates.  The virus accomplishes this by modifying the
  3893.      "NORMAL.DOT" file.  This file contains the global macros used by MS
  3894.      Word.  Essentially this makes the virus' macros always present (and
  3895.      active) in the MS Word environment.
  3896.  
  3897.      IS CONCEPT REALLY A VIRUS?
  3898.  
  3899.      Microsoft originally called this virus "Prank Macro" and did not
  3900.      refer to it as a virus.  Does this really qualify as a virus?  Yes,
  3901.      unfortunately it does.  When you open an infected document
  3902.      (actually a template), you automatically execute the virus code.
  3903.      This code modifies the MS Word environment so that all future
  3904.      documents saved using "File Save As" will be infected templates.
  3905.      This transfers the infection from one host document to another and
  3906.      is actually spreading in the wild.
  3907.  
  3908.      Concept is fortunately very easy to spot.  When you open an
  3909.      infected file for the first time, you will see a box appear
  3910.      containing the number "1" and nothing else.  This apparently was
  3911.      intended by the author of the virus.  The virus does not have a
  3912.      destructive payload but it creates a macro called "Payload" that
  3913.      could easily be modified to do something destructive.  Several
  3914.      quickie removers leave the "Payload" macro in place since the
  3915.      presence of this macro will prevent reinfection by the virus.  The
  3916.      virus checks for the presence of a macro called "Payload" and will
  3917.      not infect if it sees a macro called "Payload" already there.  The
  3918.      virus also adds two other macros to the global macro pool: "AAAZA0"
  3919.      and "AAAZFS". These macros are very easy to spot and provide a
  3920.      quick way to check if you are infected.  In MS Word, simply click
  3921.      on "Tools" and then "Macros" and check if these macros are listed.
  3922.      Beyond spreading, this virus does no real damage.  The same is not
  3923.      be true for other macro based viruses.
  3924.     Integrity Master (tm)           - 78 -        Data Integrity and Viruses
  3925.  
  3926.      Concept is fairly easy to deal with.  Other viruses of this type
  3927.      will not be so easy.  If you don't use MS Word you may think you
  3928.      are safe but any language that supports a similar macro language is
  3929.      vulnerable to a virus of this type.  MS Excel, Lotus 1-2-3, Ami
  3930.      Pro, and Quatro Pro contain languages which would allow writing of
  3931.      viruses that could spread in these environments. It's important to
  3932.      understand that such viruses would spread only within those
  3933.      specific environments rather than universally (the way existing
  3934.      executable and boot sector viruses spread).
  3935.  
  3936.  
  3937.      PROTECTION AGAINST FUTURE MACRO VIRUSES
  3938.  
  3939.      There are steps you can take now to protect yourself against future
  3940.      macro viruses similar to Concept.
  3941.  
  3942.      1) If you click on "Options" under "Save" you can ask MS Word to
  3943.         get your approval before modifying NORMAL.DOT.  This will
  3944.         disable one of the tricks used by Concept and likely used in
  3945.         future viruses of this type.
  3946.  
  3947.       2) It should be obvious to you that the reason this virus works is
  3948.          that it executes without your knowledge in the "AutoOpen" macro.
  3949.          Turning this off would eliminate this type of attack and the MS
  3950.          Word documentation provides a way to do this. Just start MS Word
  3951.          with the command:
  3952.  
  3953.                     winword.exe /mDisableAutoMacros
  3954.  
  3955.          This supposedly disables all auto macros. unfortunately it
  3956.          doesn't work!  I hope Microsoft will soon fix this so we can use
  3957.          the above option to prevent automatic execution of viral macros.
  3958.  
  3959.       3) A technique which does work is to enter the following macro.
  3960.          Click on "Tools" and then "Macros" and create a new macro
  3961.          called "autoexec".  (This macro will automatically execute
  3962.          every time you start MS Word.)  Enter the following text as
  3963.          your macro (it's a short Word Basic program):
  3964.  
  3965.          SUB MAIN
  3966.             DisableAutoMacros 1
  3967.             MSGBox "Automatic Macro Execution is now OFF",-1
  3968.          END SUB
  3969.  
  3970.         Every time you now start up Word, it will turn off Automatic
  3971.         Macros effectively eliminating a viral attack using automatic
  3972.         execution macros.
  3973.     Integrity Master (tm)           - 79-        Data Integrity and Viruses
  3974.  
  3975.       4) Integrity Master as well as some other more recent anti-virus
  3976.          products will detect Concept and other more recent macro
  3977.          viruses.
  3978.  
  3979.      POLYMORPHIC VIRUSES
  3980.  
  3981.      To confound virus scanning programs, virus writers created
  3982.      polymorphic viruses.  These viruses are more difficult to detect by
  3983.      scanning because each copy of the virus looks different than the
  3984.      other copies.  Several virus authors have created tool-kits for
  3985.      other virus writers to use. The best known tool-kit is called the
  3986.      "Dark Avenger's Mutation Engine" (also known as MtE).  This allows
  3987.      someone who has a normal virus to use the mutation engine with
  3988.      their virus code.  If they use the mutation engine, each file
  3989.      infected by their virus will have what appears to be totally
  3990.      different virus code attached to it. Fortunately, the code isn't
  3991.      totally different and now anyone foolish enough to use the mutation
  3992.      engine with their virus will be creating a virus that will be
  3993.      immediately detected by most of the existing scanners.  Most of the
  3994.      viruses (such as Pogue, Dedicated, CoffeeShop, CryptLab, and
  3995.      Groove) which use the mutation engine pose little threat since they
  3996.      are all simple minded and rather buggy.  There are now several
  3997.      other tool-kits available to create polymorphic viruses such as the
  3998.      Trident Polymorphic Engine (TPE) and NED, but these have not
  3999.      resulted in significantly better viruses.  The polymorphic viruses
  4000.      that we actually see in the wild do not appear to be created using
  4001.      a polymorphic toolkit but were created from the ground up to be
  4002.      polymorphic.  Tremor, Maltese Amoeba, and Pathogen are examples of
  4003.      these viruses.  (Pathogen claims to use something called SMEG but
  4004.      we haven't seen this as a separate tool-kit.)  These viruses are
  4005.      all spreading quite widely since the scanners were late in
  4006.      detecting them. These viruses are now quite common.
  4007.  
  4008.  
  4009.     Integrity Master (tm)           - 79-        Data Integrity and Viruses
  4010.      VIRUS TOOL KITS
  4011.  
  4012.      Besides the polymorphic toolkits (e.g., the mutation engine), there
  4013.      are now several tool kits available to help people create viruses.
  4014.  
  4015.      HOW MANY PC VIRUSES ARE THERE?
  4016.  
  4017.      There are more PC viruses than all other types of viruses combined
  4018.      (by a large margin).  Estimates of exactly how many there are vary
  4019.      widely and the number is constantly growing.  In 1990, estimates
  4020.      ranged from 200 to 500; then in 1991 estimates ranged from 600 to
  4021.      1300 different viruses.  In late 1992, estimates were ranging from
  4022.      1000 to 2300 viruses. In late 1994 we had over 5,000 known viruses.
  4023.      Now in early 1996, we have over 8,000 different viruses in our
  4024.      collection but at least one person counts 12,000 viruses.  This
  4025.      confusion exists partly because it's difficult to agree on how to
  4026.      count viruses.  New viruses frequently arise from some idiot taking
  4027.      an existing virus that does something like put a message out on
  4028.      your screen saying: "Your PC is now stoned" and changing it to say
  4029.      something like "Donald Duck is a lie".  Is this a new virus?  Most
  4030.      "experts" say "yes."  This is a trivial change that can be done in
  4031.      less than two minutes resulting in yet another "new" virus.
  4032.      Another problem comes from viruses that try to conceal themselves
  4033.      from scanners by mutating.  In other words, every time the virus
  4034.      infects another file, it will try to use a different version of
  4035.      itself. These viruses are known as "polymorphic" viruses.  One
  4036.      example, the WHALE (a huge clumsy 10,000 byte virus) creates 33
  4037.      different versions of itself when it infects files.  At least one
  4038.      person counted this as 33 different viruses on his list.  Many of
  4039.      the large number of viruses known to exist have not been detected
  4040.      in the wild but probably exist only in someone's virus collection.
  4041.      Several authors of anti-virus products, including Mark Washburn and
  4042.      Ralph Burger, have written sophisticated viruses that are now on
  4043.      the loose, but other viruses that they created apparently exist
  4044.      only in virus collections.
  4045.  
  4046.      David M. Chess of IBM's High Integrity Computing Laboratory reports
  4047.      in the November 1991 Virus Bulletin that "about 30 different
  4048.      viruses and variants account for nearly all of the actual
  4049.      infections that we see in day-to-day operation."  We now find that
  4050.      about 60 different viruses account for almost all the viruses that
  4051.      actually spread in the wild.  How can there be only 60 viruses
  4052.      active when some "experts" report such high numbers?  This is
  4053.      probably because most viruses are poorly written and cannot spread
  4054.      at all or cannot spread without  betraying their presence.
  4055.      Although the actual number of viruses will probably continue to be
  4056.      hotly debated, what is clear is that the total number of viruses is
  4057.      increasing rapidly, although perhaps not quite as rapidly as the
  4058.      numbers might suggest.
  4059.  
  4060.     Integrity Master (tm)           - 81-        Data Integrity and Viruses
  4061.  
  4062.      HOW SERIOUS ARE VIRUSES?
  4063.  
  4064.      It's important to keep viruses in perspective.  There are many
  4065.      other threats to your programs and data that are MUCH more likely
  4066.      to harm you than viruses.  A well known anti-virus researcher once
  4067.      said that you have more to fear from a cup of coffee (which may
  4068.      spill) than from viruses.  While the growth in number of viruses
  4069.      now puts this statement into question, it's still clear that there
  4070.      are many more occurrences of data corruption from other causes than
  4071.      from viruses. So, does this mean that viruses are nothing to worry
  4072.      about? Emphatically, no!  It just means that it's foolish to spend
  4073.      much money and time on addressing the threat of viruses if you've
  4074.      done nothing about the other more likely threats to your files.
  4075.      Because viruses are deliberately written to invade and possibly
  4076.      damage your PC, they are the most difficult threat to guard
  4077.      against.  It's pretty easy to understand the threat that disk
  4078.      failure represents and what to do about it (although surprisingly
  4079.      few people even address this threat).  The threat of viruses is
  4080.      much more difficult to deal with.  There are no "cures" for the
  4081.      virus problem.  Why is this so?  We'll explore this in the next
  4082.      chapter on Protecting Your PC.
  4083.  
  4084.     Integrity Master (tm)           - 82-        Data Integrity and Viruses
  4085.  
  4086.                                  NOTES
  4087.  
  4088.     Integrity Master (tm)           - 83-        Data Integrity and Viruses
  4089.  
  4090.      CHAPTER TWO - PROTECTING YOUR PC
  4091.      ____________________________________________________________________
  4092.  
  4093.      HARDWARE PROTECTION
  4094.  
  4095.      Hardware is the foundation upon which your whole system is built.
  4096.      If you have more than one or two PC's, you probably owe it to
  4097.      yourself to buy some diagnostic programs.  If your PC is performing
  4098.      strangely or if a file is damaged, it's crucial to be able to
  4099.      determine whether hardware is the cause.  You probably don't want
  4100.      to call in a repair person each time something strange happens.
  4101.      Even if you have just one or two PCs, there are some modestly
  4102.      priced diagnostic programs that are worth having.
  4103.  
  4104.      One problem with diagnostic software (and hardware too, for that
  4105.      matter) is that when you run the diagnostics, everything may work
  4106.      perfectly, yet some time earlier there definitely was a problem.
  4107.      Intermittent problems like this are all too common.  Disk problems
  4108.      can be the most insidious in this respect.  When you run the
  4109.      diagnostics everything works fine.  How can you find out what's
  4110.      happening?  Run a comprehensive data integrity product (surprise)!
  4111.      This way you can find out if some data was damaged, but you don't
  4112.      have to spend days running diagnostics.  This also gives you early
  4113.      warning if your disk is just starting to have problems.
  4114.  
  4115.      If you haven't already, consider buying whatever you can to prevent
  4116.      your hardware from failing in the first place.  Buy surge
  4117.      protectors, keep your PC clean, and regularly clean the heads on
  4118.      your tape and diskette drives.  Be sure to protect your PC and
  4119.      keyboard from spilled coffee and similar threats.
  4120.  
  4121.      Your hard disk is going to fail!  It's not "if" but "when"!  It's
  4122.      absolutely vital to be able to deal with this threat.  Basic to
  4123.      dealing with this threat and most of the others is having backups.
  4124.      Please read the section in Chapter five on Backup Policy.  Your
  4125.      hard disk will most likely start performing erratically before it
  4126.      totally fails. It's essential to detect this as early as possible
  4127.      before much data gets damaged.  It will very likely NOT be obvious
  4128.      to you whether a hardware problem, software problem or a virus is
  4129.      damaging your files.  More on making this determination in the
  4130.      section in Chapter Five  titled Determining Causes of Corruption.
  4131.  
  4132.  
  4133.      "FIXING" YOUR DISK
  4134.  
  4135.      Damage to your files could be caused by hardware, software or who
  4136.      knows what.  When you are having the problem, your main concern is
  4137.      often not what caused it, but how to fix the damage.  This is where
  4138.      the disk utility programs offered by Gibson, Norton, Mace, and
  4139.      Central Point are often very handy.  They can sometimes take
  4140.     Integrity Master (tm)           - 84-        Data Integrity and Viruses
  4141.      unreadable data and extract some of it, or if you have logical
  4142.      damage to your disk such as cross-linked clusters, these programs
  4143.      (and DOS CHKDSK/SCANDISK) may be able to fix things for you.
  4144.      Unfortunately, things are not always fixed perfectly when these
  4145.      programs say they are.  Using a data integrity product (such as
  4146.      Integrity Master) will allow you to determine if everything really
  4147.      was put back together again.  More importantly, a data integrity
  4148.      product can be used to more accurately diagnose what is wrong to
  4149.      begin with, so you don't attempt a repair which actually makes
  4150.      things worse.
  4151.  
  4152.      GOOF PROTECTION
  4153.  
  4154.      Who has never accidentally deleted or copied onto the wrong files?
  4155.      Very few of us!  If you have a data integrity product (such as
  4156.      Integrity Master), a  utility package (Norton, Mace, PCtools, etc.)
  4157.      and current backups, you're all set.  You could probably do without
  4158.      the utilities, but it's rather convenient to be able to unerase
  4159.      files after you inadvertently delete the wrong ones (this is built
  4160.      into DOS 5 and later releases).  Of course, a backup program or an
  4161.      undelete utility won't help you if you didn't notice the incorrect
  4162.      delete when it happened and you now don't know what to restore or
  4163.      undelete.  That's why data integrity software is a vital component
  4164.      of handling this threat.
  4165.  
  4166.  
  4167.      INTRUSION PROTECTION
  4168.  
  4169.      This may not be an issue if you keep your PC locked in a vault when
  4170.      you're not using it, but otherwise you can never be sure that an
  4171.      intruder hasn't changed something on your PC.  Do you think I am
  4172.      exaggerating?  I am not!  The intruder may be your spouse or
  4173.      offspring.  They probably have no intention of changing anything
  4174.      but may be confused on how to use one of the programs on your PC,
  4175.      with the result that they inadvertently change the wrong file.  On
  4176.      the other hand, you may work in an environment where someone may
  4177.      want to deliberately do you harm or perhaps just "play a little
  4178.      joke" on you.
  4179.  
  4180.      There are programs available that modify the partition sector on
  4181.      your PC so that the hard disk is unavailable unless someone
  4182.      provides a password.  There are add-in boards that provide the same
  4183.      function. Some PCs (e.g., PS/2 PCs) come with a power-up password.
  4184.      You can lock the case to your PC to make it more difficult to open.
  4185.      You may wish to consider any of these options depending upon how
  4186.      much risk you face, but please realize that they can all be
  4187.      bypassed in less than ten minutes by a knowledgeable user.
  4188.      Surveillance cameras are regarded as a fairly good deterrent to PC
  4189.      tampering.
  4190.  
  4191.      While you can't totally stop someone from breaking into your PC,
  4192.      you can detect and correct the damage.  By using an integrity
  4193.      program that allows you to encrypt the integrity data or store the
  4194.      data off-line (on floppies), you can detect any illegal tampering,
  4195.      even from a technically advanced adversary.
  4196.  
  4197.     Integrity Master (tm)           - 85-        Data Integrity and Viruses
  4198.  
  4199.      VIRUS DEFENSES
  4200.  
  4201.      There are various methods in use to protect against viruses. What
  4202.      follows is a quick review of the viral defense mechanisms that are
  4203.      widely used today.
  4204.  
  4205.  
  4206.      SCANNERS
  4207.  
  4208.      Once a virus has been detected, it is possible to write programs
  4209.      that look for telltale code (signature strings) characteristic of
  4210.      the virus. The writers of the scanner then extract identifying
  4211.      strings from the virus.  The scanner uses these signature strings
  4212.      to search memory, files, and system sectors.  If the scanner finds
  4213.      a match, it announces  that it has found a virus.  This obviously
  4214.      detects only known, pre-existing, viruses.  Many so-called "virus
  4215.      writers" create "new" viruses by modifying existing viruses. This
  4216.      takes only a few minutes but creates what appears to be a new
  4217.      virus. It happens all too often that these viruses are changed
  4218.      simply to fool the scanners.
  4219.  
  4220.      The major advantage of scanners is that they allow you to check
  4221.      programs before they are executed.  Scanners provide the easiest
  4222.      way to check new software for old (known) viruses.  Since they have
  4223.      been aggressively marketed and since they provide what appears to
  4224.      be a simple painless solution to viruses, scanners are the most
  4225.      widely used anti-virus technique. (Integrity Master can of course
  4226.      be used as a pure scanner but we strongly suggest you allow it
  4227.      protect you fully by also utilizing its integrity checking
  4228.      capabilities.)
  4229.  
  4230.      Too many people seem to regard "anti-virus product" and "scanner"
  4231.      as synonymous terms.  The peril here is that if too many people
  4232.      depend solely upon scanners, newly created viruses will spread
  4233.      totally unhindered causing considerable damage before the scanners
  4234.      catch up with the viruses.  An example of this was the attack by
  4235.      the Maltese Amoeba (Irish) virus in the UK.  This virus was not
  4236.      detected prior to its destructive activation on November 1, 1991.
  4237.      Prior to its attack, it had managed to spread quite widely and none
  4238.      of the existing (mostly scanner-based) products detected this
  4239.      virus. According to the December 1991 Virus Bulletin:
  4240.  
  4241.      "Prior to November 2, 1991, no commercial or shareware scanner (of
  4242.      which VB has copies) detected the Maltese Amoeba virus.  Tests
  4243.      showed that not ONE of the major commercial scanners in use (the
  4244.      latest releases of Scan, Norton Anti-virus, Vi-Spy, VISCAN,
  4245.      Findvirus, Sweep, Central Point Anti-virus, et al.) detected this
  4246.      virus."
  4247.     Integrity Master (tm)           - 86-        Data Integrity and Viruses
  4248.  
  4249.      This incident points out the hazard of depending upon scanner
  4250.      technology or active monitor technology for virus protection.
  4251.  
  4252.      Another major drawback to scanners is that it's dangerous to depend
  4253.      upon an old scanner.  With the dramatic increase in the number of
  4254.      viruses appearing, it's risky to depend upon anything other than
  4255.      the most current scanner.  Even that scanner is necessarily a step
  4256.      behind the latest crop of viruses since there's a lot that has to
  4257.      happen before the scanner is ready:
  4258.  
  4259.      o The virus has to be detected somehow to begin with.  Since the
  4260.        existing scanners won't detect the new virus, it will have some
  4261.        time to spread before someone detects it by other means.
  4262.  
  4263.      o The newly discovered virus must be sent to the programmers to
  4264.        analyze and extract a suitable signature string.  This string
  4265.        must be tested for false positives on legitimate programs.
  4266.  
  4267.      o This string must be incorporated into the next release of the
  4268.        virus scanner.
  4269.  
  4270.      o The virus scanner must be distributed to the customer.
  4271.  
  4272.      o In the case of retail software, the software must be sent to be
  4273.        packaged, to the distributors, and then on to the retail outlets.
  4274.        Commercial retail software takes so long to get to the shelves,
  4275.        that it is almost certainly out of date.  Yet, many retail
  4276.        products depend upon their scanner for most of their
  4277.        effectiveness.
  4278.  
  4279.  
  4280.      If you depend upon a scanner, be sure to get the latest version
  4281.      directly from the author.  Also, be sure that you boot from a clean
  4282.      write-protected copy of DOS before running the scanner; there's a
  4283.      good chance that the scanner can detect a resident virus in memory,
  4284.      but if it misses the virus in memory, the scanner will wind up
  4285.      spreading the virus rather than detecting it.  Every susceptible
  4286.      program on your disk could be infected in a matter of minutes this
  4287.      way!
  4288.  
  4289.  
  4290.      DISINFECTORS
  4291.  
  4292.      Most vendors that sell scanners also sell a disinfector (sometimes
  4293.      it's the same program).  A disinfector has the same limitations
  4294.      that a scanner has, in that it must be current to be safe to use
  4295.      and it's always one step behind the latest crop of viruses.  The
  4296.      disinfector, however, has an even bigger disadvantage:  Many
  4297.      viruses simply cannot be removed without damaging the infected
  4298.      file.  There have also been numerous reports that files are still
  4299.     Integrity Master (tm)           - 87-        Data Integrity and Viruses
  4300.      damaged even when the program claims to have disinfected the file.
  4301.      A disinfector, like a scanner, can be a very handy tool in your
  4302.      anti-virus arsenal, but it must be used with care.  If you use a
  4303.      disinfector, be sure you have the latest version direct from the
  4304.      author and use an integrity check to verify that all files and
  4305.      system sectors are correctly restored.
  4306.  
  4307.      Currently, one of the oldest and most common infectors of files is
  4308.      the Jerusalem (1813) virus.  All disinfectors naturally claim to be
  4309.      able to remove this virus.  Yet the Jerusalem virus frequently
  4310.      overwrites part of the original file (due mostly to its many bugs)
  4311.      making it impossible to restore the infected program.  In spite of
  4312.      this, most (if not all) disinfectors claim to disinfect Jerusalem
  4313.      infected files.  A very dangerous situation!  I'd like to stress
  4314.      that:
  4315.  
  4316.        IT IS TOTALLY UNSAFE AND IRRESPONSIBLE TO DEPEND UPON
  4317.        DISINFECTORS AS A WAY TO RECOVER FROM VIRUS INFECTIONS.
  4318.  
  4319.  
  4320.      INTERCEPTORS
  4321.  
  4322.      Interceptors (also known as resident monitors) are particularly
  4323.      useful for deflecting logic bombs and trojans.  The interceptor
  4324.      monitors operating system requests that write to disk or do other
  4325.      things that the program considers threatening (such as installing
  4326.      itself as a resident program).  If it finds such a request, the
  4327.      interceptor generally pops up and asks you if you want to allow the
  4328.      request to continue.  There is, however, no reliable way to
  4329.      intercept direct branches into low level code or to intercept
  4330.      direct input and output instructions done by the virus itself.
  4331.      Some viruses even manage to disable the monitoring program itself.
  4332.      It is important to realize that monitoring is a risky technique.
  4333.      Some products that use this technique are so annoying to use (due
  4334.      to their frequent messages popping up) that some users consider the
  4335.      cure worse than the disease!  An interception (monitoring) product
  4336.      would be a useful adjunct to a data integrity program, as
  4337.      protection against some the more simple minded logic bombs.
  4338.  
  4339.  
  4340.      INOCULATORS
  4341.  
  4342.      There are two types of inoculators or so-called "immunizers." One
  4343.      modifies files or system sectors in an attempt to fool viruses into
  4344.      thinking that you are already infected.  The inoculator does this
  4345.      by making the same changes that the viruses use to identify the
  4346.      file or sector as infected.  Presumably, the virus will not infect
  4347.      anything because it thinks  everything is already infected.  This
  4348.      works only for a very small number of viruses.
  4349.  
  4350.      The second technique is actually an attempt to make your programs
  4351.      self-checking by attaching a small section of check code onto your
  4352.     Integrity Master (tm)           - 88-        Data Integrity and Viruses
  4353.  
  4354.      programs.  When your program executes, the check code first
  4355.      computes the check data and compares it with the stored data.  It
  4356.      will warn you if it finds any changes to the program. Not only can
  4357.      this be circumvented by existing stealth viruses, but the
  4358.      self-checking code and check data can be modified or disabled as
  4359.      well.   Another problem arises because some programs refuse to run
  4360.      if they have been modified in this way.  This also creates alarms
  4361.      from other anti-virus programs since the attached self-check code
  4362.      changes the original program in the same way a virus would. Some
  4363.      products use this technique to substantiate their claim to detect
  4364.      unknown viruses.
  4365.  
  4366.  
  4367.      ROM AND ENCRYPTION
  4368.  
  4369.      Placing executable code on a hardware write-protected device, will
  4370.      protect all those programs on that device.  Some PCs provide DOS in
  4371.      ROM (Read-only Memory). This provides some degree of protection,
  4372.      but all the other programs are still vulnerable to infection.  The
  4373.      more programs you can isolate on a write-protected device, the more
  4374.      effective this technology is. It's important to note, that
  4375.      write-protected devices such as CD-ROMs can contain infected
  4376.      programs that can infect programs on your hard disk.  In other
  4377.      words, the CD will not become infected while on your system but it
  4378.      can contain a pre-existing infection that can spread to your PC.
  4379.  
  4380.      Encryption is a promising technique that so far has not been
  4381.      successfully used to protect a system.  Encrypting as many of your
  4382.      files as possible makes life harder for viruses, but does not stop
  4383.      them since there is always some unencrypted code around (boot
  4384.      sector, BIOS, DOS, device drivers, etc).
  4385.  
  4386.  
  4387.      INTEGRITY CHECKERS
  4388.  
  4389.      Integrity check based products work by reading your entire disk and
  4390.      recording integrity data that acts as a signature for the files and
  4391.      system sectors.  A quality integrity check program is the only
  4392.      solution that can handle all the threats to your data along with
  4393.      viruses.  Integrity checkers also provide the only reliable way to
  4394.      discover what damage a virus has done.  A well-written integrity
  4395.      checker should be able to detect any virus, not just known viruses.
  4396.      So, why isn't everyone using an integrity checker?  Well, until
  4397.      recently, there hasn't been an integrity checker available without
  4398.      some significant drawbacks.  In fact, many anti-virus products now
  4399.      incorporate integrity checking techniques.  One problem with many
  4400.      products is that they don't use these techniques in a comprehensive
  4401.      way. There are still too many things not being checked. Some older
  4402.      integrity checkers were simply too slow or hard to use to be truly
  4403.      effective. A disadvantage of a bare-bones integrity checker is that
  4404.      it can't differentiate file corruption caused by a bug from
  4405.      corruption caused by a virus.  Only recently have advanced
  4406.      integrity checkers (e.g., Integrity Master) become available that
  4407.      incorporate the smarts to analyze the nature of the changes and
  4408.      recognize changes caused by a virus.  Some integrity checkers now
  4409.      use other anti-virus techniques along with integrity checking to
  4410.      improve their intelligence and ease of use.
  4411.     Integrity Master (tm)           - 89-        Data Integrity and Viruses
  4412.  
  4413.      If you choose an integrity checker, be sure it has all these features:
  4414.  
  4415.      o It's easy to use with clear, unambiguous reports and built-in help.
  4416.  
  4417.      o It hides complexity, so that complicated details of system file
  4418.        or system sector changes are only presented if they present
  4419.        information the user must act upon.
  4420.  
  4421.      o The product recognizes the various special system files on the PC
  4422.        so it can alert the user with special warnings if vital files
  4423.        have changed.
  4424.  
  4425.      o It's fast.  An integrity checker is of no use if it's too slow to run.
  4426.  
  4427.      o It recognizes known viruses, so the user doesn't have to do all
  4428.        the work to determine if a change is due to a software conflict,
  4429.        or if it's due to a virus.
  4430.  
  4431.      o It's important that the integrity computation be more
  4432.        sophisticated than a mere checksum.  Two sectors may get reversed
  4433.        in a file or other damage may occur that otherwise rearranges
  4434.        data in a file.  A checksum will not detect these changes.
  4435.  
  4436.      o It's comprehensive.  Some integrity checkers, in order to improve
  4437.        their speed, don't read each file in its entirety.  They read
  4438.        only portions of larger files.  They just spot check.  This is
  4439.        unacceptable -- it's important to know the file hasn't changed,
  4440.        not just that some of the file hasn't changed.
  4441.  
  4442.      o It checks and restores both boot and partition sectors.  Some
  4443.        programs check only files.
  4444.  
  4445.      o It stores the integrity data in a secure (tamper-proof) manner
  4446.        and optionally stores it on a removable medium (e.g., a
  4447.        diskette).
  4448.  
  4449.      (Fortunately, Integrity Master does all these things. <smile>)
  4450.  
  4451.     Integrity Master (tm)           - 90-        Data Integrity and Viruses
  4452.  
  4453.      GADGETS (Hardware protection)
  4454.  
  4455.      There are currently some gadgets (hardware devices) that are sold
  4456.      as virus protection.   So far, I haven't seen anything that
  4457.      provides protection beyond what is offered by software-only
  4458.      products.  Beyond putting some of the anti-virus code in read-only
  4459.      memory (ROM), I've seen little that can be accomplished by existing
  4460.      hardware.  In one product, the hardware was used to store some
  4461.      integrity data; a floppy disk can do the same thing and it's
  4462.      actually more secure.
  4463.  
  4464.  
  4465.      PREVENTION:
  4466.  
  4467.      Hardware techniques, such as placing all your programs in read-only
  4468.      memory (ROM), can, in theory, provide virus prevention, but nothing
  4469.      even comes close to doing this yet.  Pure software techniques can
  4470.      probably not prevent all viruses.  There are all sorts of schemes
  4471.      that make it more difficult for a virus to penetrate your system,
  4472.      but none totally eliminate the threat of a virus.  For each
  4473.      software-based technique, there is a way a virus could circumvent
  4474.      it.  Software helps a lot, but isn't absolute protection.  While
  4475.      prevention of viruses may not be possible, detection is.
  4476.      Detection, if applied carefully, can detect all viruses, no matter
  4477.      how tricky.  If viruses are detected before they spread, the most
  4478.      serious aspect of the virus threat is eliminated. If integrity
  4479.      checking (detection) is practiced widely, the threat of a virus
  4480.      spreading to millions of PCs and then years later performing a
  4481.      destructive act can be eliminated.
  4482.  
  4483.     Integrity Master (tm)           - 91-        Data Integrity and Viruses
  4484.  
  4485.      CHAPTER THREE - VIRUS MYTHS
  4486.      ____________________________________________________________________
  4487.  
  4488.  
  4489.      MYTHICAL SOURCES
  4490.  
  4491.      Attachment to a network or BBS
  4492.  
  4493.        Simply being attached to a network (such as CompuServe, or
  4494.        Internet), a bulletin board system (BBS), or even a local area
  4495.        network (LAN) will not make you susceptible to viruses.  The only
  4496.        way you can get a virus is to execute a program on your PC that
  4497.        you obtained over the network.  The mere act of downloading the
  4498.        program is harmless; it's only by downloading and then executing
  4499.        an infected program that your PC can become infected.  I hope
  4500.        it's clear that the mere act of reading electronic mail cannot
  4501.        infect your PC.
  4502.  
  4503.        There is one thing that can happen though.  If you have the
  4504.        device driver ANSI.SYS (or an equivalent) loaded (in your
  4505.        CONFIG.SYS file), someone could send a sequence of characters to
  4506.        your screen (ANSI sequence) that assigns a set of key strokes to
  4507.        a key on your keyboard. These keystrokes could easily be
  4508.        something harmful like "DEL *.*".  When you press the key that
  4509.        was reassigned, the command would execute just as if you had
  4510.        typed it yourself. This "practical joke" could cause some
  4511.        trouble, but it certainly can't reproduce and isn't a virus.
  4512.  
  4513.      From Data
  4514.  
  4515.        Since data is not executed, you cannot become infected from data.
  4516.        If someone sent you a data file that contained a virus, you would
  4517.        have to rename the file and then execute it to become infected!
  4518.        You can, however, become infected from a diskette that is not
  4519.        bootable and contains no (apparent) programs.  The explanation
  4520.        for this is that all diskettes have a boot sector that contains a
  4521.        program that can become infected by a boot sector virus.  If you
  4522.        leave such an infected diskette in your drive when you power up
  4523.        or boot, your PC will be infected!
  4524.  
  4525.      From CMOS Memory
  4526.  
  4527.        PC AT (80286) type computers and later models contain a small
  4528.        amount of battery backed CMOS memory to store the configuration
  4529.        and to maintain the time and date.  This memory is never
  4530.        executed, so although it could be damaged by a virus, you can
  4531.        never become infected from CMOS memory.  While no virus will
  4532.        infect your CMOS, there are several that will change or erase
  4533.        your CMOS data.
  4534.     Integrity Master (tm)           - 92-        Data Integrity and Viruses
  4535.  
  4536.      QUICK AND EASY CURES
  4537.  
  4538.      I've discussed the various approaches to the virus problem, and
  4539.      you've no doubt seen that there are no instant cures for viruses,
  4540.      yet many products make claims that they can't quite support.
  4541.      Everyone would like to just buy product X, run it, and be rid of
  4542.      viruses forever. Unfortunately there is no such easy cure.
  4543.  
  4544.  
  4545.      SILLY TRICKS
  4546.  
  4547.      There have been many articles and books written by various virus
  4548.      "experts" that propose doing all kinds of things to virus proof
  4549.      your PC.  Here are some of the tricks that I consider most
  4550.      widespread and most useless:
  4551.  
  4552.      WRITE-PROTECTING YOUR FILES
  4553.  
  4554.        You can use the DOS ATTRIB command to set the read-only bit on
  4555.        files. This is so easy for a virus (or any program) to bypass,
  4556.        that it simply causes far more problems than it cures.
  4557.  
  4558.      HIDING OR RENAMING COMMAND.COM
  4559.  
  4560.        COMMAND.COM is a program that executes each time you boot your
  4561.        PC.  There was an early virus that only infected COMMAND.COM, so
  4562.        the idea of hiding or renaming this file began.  Today, many
  4563.        viruses actually go out of their way to avoid infecting this
  4564.        file, since some anti-virus products single out this file and a
  4565.        few others for special scrutiny. With today's viruses, hiding
  4566.        COMMAND.COM is utterly futile.
  4567.  
  4568.      CHECKING TIME AND DATE STAMPS
  4569.  
  4570.        While it's helpful to check the time and date stamps of your
  4571.        executable files for unexpected changes, this is not a reliable
  4572.        way to catch viruses.  Many viruses are smart enough not to
  4573.        change the time and date stamps when they infect a file.  Some
  4574.        viruses even hide the change to a file's size when they infect a
  4575.        file.
  4576.  
  4577.      RETAIL SOFTWARE ONLY?
  4578.  
  4579.      Several "virus experts" have suggested that users avoid downloading
  4580.      software and avoid shareware.  There are no facts to support this
  4581.      viewpoint.  The most common viruses are boot sector viruses such as
  4582.      Stoned and Michelangelo that spread when someone boots from an
  4583.      infected diskette. To spread these viruses, a physical disk must be
  4584.      passed around and then booted.  Michelangelo spread widely because
  4585.      software distribution disks were infected with this virus.  There
  4586.      was no reported incident of this virus spreading via shareware.  It
  4587.      is, of course, wise to make sure that you download your software
  4588.      from a source that screens each program for known viruses.  You are
  4589.      actually more likely to be infected from software purchased at a
  4590.      retail outlet than from shareware.  Quite a few viruses have been
  4591.     Integrity Master (tm)           - 93-        Data Integrity and Viruses
  4592.  
  4593.      shipped directly from the software manufacturer in the shrink
  4594.      wrapped packages.  One major software company has on at least two
  4595.      separate occasions shipped a virus with their product.  Buying
  4596.      shrink wrapped retail software is much more dangerous than many
  4597.      people think it is, since many retailers accept returned software
  4598.      and then simply rewrap the software and sell it again.  This
  4599.      software could have easily been infected by the first user who
  4600.      tried it and then returned it.
  4601.  
  4602.      WRITE-PROTECTING YOUR HARD DISK
  4603.  
  4604.      There are several programs that claim to write-protect your hard
  4605.      disk. Since this is done in software, it can be bypassed by a
  4606.      virus.  This technique, however, will stop a few viruses and will
  4607.      protect your disk from someone inadvertently writing to it. These
  4608.      programs are generally less effective than the virus interception
  4609.      products.
  4610.  
  4611.      It IS possible to write-protect a disk using hardware, but this
  4612.      does not seem to be readily available.
  4613.  
  4614.  
  4615.      VIRUSES ARE THE BIG THREAT?
  4616.  
  4617.      As we've seen in examining the other threats to the integrity of
  4618.      your data, viruses are among the less likely threats that you face.
  4619.      Don't protect yourself against viruses and ignore the other
  4620.      threats!
  4621.     Integrity Master (tm)           - 94-        Data Integrity and Viruses
  4622.  
  4623.      SAFE COMPUTING (SAFE HEX?)
  4624.  
  4625.      You may have heard this rumor: "You don't need an anti-virus
  4626.      product, just backup your disk regularly and keep an eye on your
  4627.      programs."   Yes, it is vital to have good backups, but that is no
  4628.      longer enough.  You may also have heard that provided you don't
  4629.      share programs or download (practice "safe hex"), you have nothing
  4630.      to worry about.  This is no longer sufficient protection; every
  4631.      time you buy a software package you are exposing yourself to virus
  4632.      infection. It is not possible to be safe from viruses by secluding
  4633.      your PC!
  4634.  
  4635.      There are now some viruses that can do considerable damage.  The
  4636.      worst ones damage your files slowly so even your backups may be
  4637.      useless unless you detect the damage before it's too late.
  4638.      Although viruses may not be very likely to attack your system when
  4639.      compared to other threats, they do represent a very real and very
  4640.      dangerous threat -- a threat you cannot ignore or combat merely
  4641.      with good backups, seclusion, or common sense.
  4642.  
  4643.     Integrity Master (tm)           - 95-        Data Integrity and Viruses
  4644.  
  4645.      CHAPTER FOUR - VIRUS REALITIES
  4646.      ____________________________________________________________________
  4647.  
  4648.  
  4649.      THE ONLY REAL SOURCE OF VIRUSES
  4650.  
  4651.      You can't get a virus merely by being connected to a network or
  4652.      bulletin board system (BBS).
  4653.  
  4654.      There is only one way you can get a virus and that's to execute a
  4655.      program containing a virus.  Period.  End of story.  Well, almost
  4656.      the end of the story.  What some people don't know is that every
  4657.      disk and diskette has a program on it, even if it appears empty.
  4658.      This program is in the boot sector.  Most people don't think of
  4659.      boot sectors as programs or perhaps even know that boot sectors
  4660.      exist.  If you leave a data diskette in your A drive and boot your
  4661.      PC, you could be executing an infected program in the boot sector,
  4662.      thereby infecting your PC with a virus.  Make sure you NEVER boot
  4663.      from a diskette unless it's a known good copy of DOS.
  4664.  
  4665.  
  4666.      SHAREWARE IS AS SAFE OR SAFER
  4667.  
  4668.      There is no reason to avoid shareware.  If you want to get the
  4669.      latest anti-virus software, it's easiest to get it as shareware
  4670.      since you are buying directly from the author. Shareware does not
  4671.      have to go from the author to the publisher, then through the
  4672.      distribution chain before it even gets to sit on the shelf.  Who
  4673.      knows how long your retail package has been on that shelf?
  4674.  
  4675.  
  4676.      FEW VIRUS FREE PROGRAMS
  4677.  
  4678.      Unfortunately, there is no way to look at a program (unless you
  4679.      wrote the program yourself in assembly language) and positively
  4680.      declare there's no virus in it.  All you can say is that the
  4681.      program contains no known virus.  You never know what may be
  4682.      lurking inside of a program waiting for just the right trigger to
  4683.      begin infection or perhaps an attack.
  4684.  
  4685.      While you can't be sure of detecting a virus while it's inert
  4686.      inside a program, you definitely CAN detect it as it infects or
  4687.      attacks your files.  The changes which must be made by a virus can
  4688.      always be detected with the appropriate software.
  4689.  
  4690.     Integrity Master (tm)           - 96-        Data Integrity and Viruses
  4691.  
  4692.      OTHER CAUSES MORE LIKELY
  4693.  
  4694.      Viruses are not the greatest threat to your data, so let's not
  4695.      forget about the other threats too.
  4696.  
  4697.  
  4698.      WRITE-PROTECTING FLOPPIES
  4699.  
  4700.      While write-protecting your files and your hard disk is of
  4701.      questionable value, you definitely CAN write-protect your floppy
  4702.      disks.  Just cover the notch on the 5.25 inch diskettes, or on 3.5
  4703.      inch diskettes, slide the little tab to expose the hole.  The only
  4704.      risk here is that some diskette drives may be defective and still
  4705.      allow writing on the diskette.  If in doubt, do a test and check
  4706.      out your drive.
  4707.  
  4708.  
  4709.      BEWARE THE CE AND THE DEMO!
  4710.  
  4711.      According to our reports, one of the major sources for infections
  4712.      is the customer engineer (CE) or repairman.  The CEs frequently
  4713.      carry diagnostic diskettes with them when they go from PC to PC on
  4714.      service calls.  It's all too easy for these diskettes to become
  4715.      infected.  Sales people doing demos on various PCs are also very
  4716.      susceptible to getting their demo diskettes infected.
  4717.     Integrity Master (tm)           - 97-        Data Integrity and Viruses
  4718.  
  4719.      CHAPTER FIVE - WHAT TO DO?
  4720.      SOME SUGGESTIONS:
  4721.      ____________________________________________________________________
  4722.  
  4723.  
  4724.      ACTION IS VITAL - NOW!
  4725.  
  4726.      Too many people wait for a virus to attack their PC before they
  4727.      take any action.  Once a virus reveals its presence on your PC, it
  4728.      may be too late to recover damaged files.  There are many viruses
  4729.      that cannot be successfully removed due to the way the virus
  4730.      infects the program. It's absolutely vital to have protection
  4731.      before the virus strikes.
  4732.  
  4733.      It's vital that you protect against all threats to data integrity,
  4734.      not just viruses.  All threats to data integrity are much easier to
  4735.      deal with if they are detected as early as possible.  If you wait
  4736.      until you notice that your hard disk is losing data, you may
  4737.      already have hundreds of damaged files.
  4738.  
  4739.  
  4740.      BACKUP POLICY
  4741.  
  4742.      It's essential to carefully protect all your software and regularly
  4743.      backup the data on all your disks.  Do you have a single disk that
  4744.      you can afford NOT to regularly backup?  It's rare to find any PC
  4745.      that does not have some type of important data stored on it.
  4746.  
  4747.      SUGGESTED BACKUP POLICY:
  4748.  
  4749.      1) All original software (program) diskettes should immediately be
  4750.         write-protected, copied and stored in two secure, separate,
  4751.         locations after installation.  If you are using an integrity
  4752.         check program, immediately record (initialize) the integrity
  4753.         data for the new programs after installing.
  4754.  
  4755.      2) Determine a schedule for full backups by considering how
  4756.         frequently your data changes.  It is an excellent idea to have
  4757.         three full sets of backup tapes or diskettes and to store one
  4758.         set at another location to protect against fire, theft, or some
  4759.         other disaster.  If your data is critical, you may wish to have
  4760.         a separate cycle of backups (e.g., quarterly or yearly) that can
  4761.         be used to recover when someone damages (or deletes) a vital
  4762.         file, but the deletion isn't discovered until months later.
  4763.  
  4764.      3) The full backups should be coordinated with periodic incremental
  4765.         backups.  The incremental backup, which copies just the files
  4766.         that have changed, normally runs very quickly and takes just a
  4767.         minute or so.  Many people find that an incremental backup run
  4768.         at the end of each day works quite well.  This way their data is
  4769.         protected should anything happen overnight.
  4770.  
  4771.     Integrity Master (tm)           - 98-        Data Integrity and Viruses
  4772.      4) Make sure you use reliable backup hardware and software.
  4773.         Periodically test by restoring from a backup.  Too many people
  4774.         have discovered that their backup program couldn't recover their
  4775.         files when it was too late.  If you use an integrity check
  4776.         program you can verify that the restored files are correct.
  4777.  
  4778.  
  4779.      INTEGRITY CHECKING POLICY
  4780.  
  4781.      Each PC which has data that you can't afford to lose or have
  4782.      corrupted should have a schedule of regular integrity checking,
  4783.      similar to the backup schedule.  By doing once a week full
  4784.      integrity checks, you can stay one step ahead of any trouble.  By
  4785.      doing a quick update of your integrity data on a daily basis, you
  4786.      can stay aware of exactly what changes in your PC and why.  This
  4787.      way if you start to encounter a software conflict, a failing hard
  4788.      disk, or a virus, you'll be able to quickly differentiate the
  4789.      unusual changes from the usual ones.
  4790.  
  4791.      Whenever you install new software, immediately record the integrity
  4792.      data for those programs, so that any future infection or damage can
  4793.      be detected.
  4794.  
  4795.      Whenever you copy programs, check that the new programs are exact
  4796.      copies of the originals.  The easiest way to do this is to always
  4797.      copy integrity data along with the programs.  You can also use any
  4798.      integrity checker, checksum program, CRC program, cryptographic
  4799.      signature program, or even the DOS COMPARE utility to verify that
  4800.      you made good copies.  Do this check only when you know no virus is
  4801.      in control of your PC; therefore, it's best to cold boot from a
  4802.      write-protected floppy to verify your program copies are good.  A
  4803.      good scanner such as Integrity Master will verify that no known
  4804.      viruses are in memory but it's nice to have assurance that no
  4805.      unknown viruses are present.
  4806.  
  4807.      If you have diagnostic software, plan to run it at intervals. If
  4808.      you leave your PCs turned on at night, why not leave them running
  4809.      diagnostics?
  4810.  
  4811.      RUN CHKDSK OR SCANDISK
  4812.  
  4813.      Run CHKDSK, (or some equivalent program such as NDD or SCANDISK)
  4814.      regularly on each PC, and pay attention to the results.  If you are
  4815.      seeing problems, be sure you understand what's causing the
  4816.      problems.  If you are experiencing cross-linked or lost clusters,
  4817.      something is being damaged.  Run an integrity checker to find out
  4818.      exactly what is being damaged.  Also pay attention to the amount of
  4819.      available memory.  If this suddenly changes with no new resident
  4820.      (TSR) software installed, you may have a virus.
  4821.     Integrity Master (tm)           - 99-        Data Integrity and Viruses
  4822.  
  4823.      DETERMINING CAUSES OF CORRUPTION
  4824.  
  4825.      It's not a question of "if" but a question of "when"; all too soon
  4826.      you are going to encounter a damaged file (a file that has changed
  4827.      for unknown reasons).  How can you discover what caused the damage?
  4828.  
  4829.      o First gather as much information as possible.  Did you do
  4830.        anything unusual?  Did you install any new software?  Did you
  4831.        execute any programs that you don't normally use?  Have you seen
  4832.        any signs of hardware problems? (See the section following on
  4833.        signs of hardware problems).
  4834.  
  4835.      o Run CHKDSK or Scandisk to see if your directories and other areas
  4836.        are OK.
  4837.  
  4838.      o Run a full integrity check to see if anything else has changed.
  4839.  
  4840.      o If you suspect hardware problems as the culprit, then run any
  4841.        diagnostic programs you have.  If the diagnostics don't turn
  4842.        anything up, but you still suspect a hardware problem, then run
  4843.        your integrity check in full check mode daily for a while.  This
  4844.        should help track down exactly what's happening in your PC.
  4845.  
  4846.      o If you suspect software problems, run the software in question
  4847.        and then run your integrity check to see if anything is being
  4848.        corrupted. When doing this, it's very helpful to duplicate the
  4849.        original situation of the problem as closely as possible. Make
  4850.        sure the hardware is the same and that you have exactly the same
  4851.        resident programs and device drivers loaded as when the problem
  4852.        first occurred.
  4853.  
  4854.      o Could the problem be a virus?  If you think so, have you seen any
  4855.        of the signs of virus activity listed in the next section?  Are
  4856.        only executable files (such as files ending in .EXE, .COM, .OVR,
  4857.        .OVL .BIN, or .SYS) affected?  If so, how many?  If more than one
  4858.        or two unrelated program files have mysteriously changed, it
  4859.        could likely be a virus.  Remember that some programs (such as
  4860.        WordStar and SETVER) modify themselves as part of normal
  4861.        execution.  If the programs have changed but the DOS time and
  4862.        date stamps haven't, this is further reason to suspect either a
  4863.        serious problem or a virus.  If you are not using an advanced
  4864.        integrity checker  (such as Integrity Master) that recognizes
  4865.        known viruses, you may wish to get a virus scanner at this point
  4866.        to see if you have a known virus.  If this turns up nothing, then
  4867.        it's time to play detective - you may have discovered a brand new
  4868.        virus (lucky you!).  Please see the section in Chapter Seven on
  4869.        Playing Detective.
  4870.  
  4871.  
  4872.      EDUCATION
  4873.  
  4874.      One very important thing that you can do to assure the integrity of
  4875.      the data in your PCs is to educate everyone who uses a PC.  It's
  4876.      vital that they understand how to backup their files and which
  4877.     Integrity Master (tm)          -100-        Data Integrity and Viruses
  4878.      files normally change on their PC and which ones don't.  If you can
  4879.      teach them to understand the output of a thorough integrity check
  4880.      program, then you'll be able to sleep at night knowing that all is
  4881.      well with your PCs! Even lacking an integrity check program, it's
  4882.      vital that everyone be aware of what problem signs to look out for.
  4883.      This way the more dangerous threats to data integrity will not go
  4884.      unnoticed.
  4885.  
  4886.  
  4887.  
  4888.  
  4889.      SIGNS OF HARDWARE PROBLEMS
  4890.  
  4891.      Watch out for recurring error messages that the disk is not ready
  4892.      when you try to boot the PC.  If you periodically experience any
  4893.      type of disk-error message, or if disk accesses seem to be getting
  4894.      consistently slower, you may be experiencing the beginning of a
  4895.      serious disk problem.
  4896.  
  4897.  
  4898.      SIGNS OF SOFTWARE PROBLEMS
  4899.  
  4900.      These symptoms could reveal software conflicts or bugs:
  4901.  
  4902.      o CHKDSK or Scandisk reporting problems.
  4903.  
  4904.      o A file that was just processed by a program (such as a
  4905.        spreadsheet) is damaged or unreadable by the program but you can
  4906.        copy the file with no error messages.
  4907.  
  4908.  
  4909.      SIGNS OF VIRUSES
  4910.  
  4911.      These symptoms may betray the existence of a virus:
  4912.  
  4913.      o Disk activity when there should not be any activity. (Some disk
  4914.        caches cause this to happen normally.)
  4915.  
  4916.      o Programs taking longer to load but the disk drive appears to be
  4917.        healthy.
  4918.  
  4919.      o Any unexplained behavior on the PC such as music, bouncing balls,
  4920.        black areas on the screen, falling letters, weird messages, or
  4921.        unexplained slowdown of the PC.
  4922.  
  4923.      o Less total or free (available) memory on your PC (use CHKDSK or
  4924.        MEM).  This should change only when you add new resident programs
  4925.        or device drivers.  Note, most PCs have 655360 total bytes of
  4926.        memory but certain models (i.e., some PS/2s) reserve a thousand
  4927.        bytes of high memory.
  4928.  
  4929.      o Unexplained bad spots on your disk or fewer total bytes (as
  4930.        reported by CHKDSK).
  4931.  
  4932.      o If you find extra executable files (e.g., ".COM" files) showing
  4933.        up, you may have a companion style virus.
  4934.     Integrity Master (tm)          -101-        Data Integrity and Viruses
  4935.  
  4936.      RESPONSIBILITY
  4937.  
  4938.      If you are in a larger organization, it's crucial that someone has
  4939.      the responsibility for assuring data integrity.  The first task
  4940.      facing this person would be to assure that all important data is
  4941.      backed up and that all users are educated with respect to normal
  4942.      operation of their PC. The next step would be to start a regular
  4943.      program of integrity checking.
  4944.  
  4945.  
  4946.      POLICY AND ROUTINE
  4947.  
  4948.      The procedures for backing up and checking the integrity of
  4949.      critical data cannot be left to word of mouth, but should be
  4950.      clearly explained in a written set of procedures.  Data integrity
  4951.      is too important to leave to chance.  If this isn't done, guess
  4952.      what gets put on the back burner (in other words: not done), when
  4953.      people get busy? (Who isn't busy?). Some recommended procedures:
  4954.  
  4955.      o Never leave a floppy disk inserted in a drive longer than
  4956.        necessary. Remove all diskettes immediately.  This reduces the
  4957.        chance of
  4958.        inadvertently booting from the diskette and picking up a boot
  4959.        sector virus.
  4960.  
  4961.      o Check the integrity of all files after installing new software or
  4962.        copying programs.
  4963.  
  4964.      o If a stranger (such as a sales or repair person) runs software on
  4965.        a PC, do a full integrity check immediately afterwards.
  4966.  
  4967.      o Immediately write-protect and backup all diskettes containing
  4968.        software.
  4969.  
  4970.      o Schedule regular incremental and full backups.
  4971.  
  4972.  
  4973.      NETWORKS AND VIRUSES
  4974.  
  4975.      Make sure that any shared executable files allow only execute or
  4976.      read access.  Execute-only is best, but it's essential not to allow
  4977.      write access.  Most network compatible programs allow you to store
  4978.      the files they write to on separate disks from the programs
  4979.      themselves. Be sure to limit write access with access rights not
  4980.      with file attributes (Netware FLAG or FLAGDIR).  A virus can easily
  4981.      bypass file attributes, but access rights can thwart the virus's
  4982.      attempts to write to the shared disk.  The LAN administrator needs
  4983.      to have two accounts -- one privileged and one not.  For normal
  4984.      use, the LAN administrator should use the less privileged account.
  4985.      The privileged account should be used only  when the job requires
  4986.      supervisor rights.  It's critical that any user with supervisory
  4987.      rights log off as soon as possible and never execute any other
  4988.      programs, especially those on a workstation.
  4989.  
  4990.     Integrity Master (tm)          -102-        Data Integrity and Viruses
  4991.  
  4992.      Run regular integrity checks on the file server.  This is important
  4993.      on the workstations too, but is critical on the file server since
  4994.      an infected file here could quickly infect all the workstations on
  4995.      the network.
  4996.  
  4997.      Never access an unchecked workstation with network administrator
  4998.      (supervisor) authority!
  4999.  
  5000.  
  5001.      GUIDELINES FOR USING ANTI-VIRUS PRODUCTS
  5002.  
  5003.      Most modern anti-virus products use a combination of the techniques
  5004.      I just mentioned.  Unfortunately, most products still get almost
  5005.      all of their protection from their scanner component. It's vital to
  5006.      understand exactly how your product works so that you understand
  5007.      what type of protection you really have.  Here are some rules that
  5008.      will help you make sure that you get maximum protection out of
  5009.      whatever product you already have:
  5010.  
  5011.      o Be sure to cold boot your PC from a write-protected diskette
  5012.        before virus checking.  This provides the best protection against
  5013.        unknown resident viruses.  Most anti-virus products make this
  5014.        recommendation, but this rarely gets done because the
  5015.        recommendation is often buried in some obscure location in the
  5016.        documentation.  If your PC is infected with a virus that your
  5017.        scanner does not recognize, you could infect all the programs on
  5018.        your disk. Don't take this chance; boot from a write-protected
  5019.        diskette before you scan. (IM version three offers a resident
  5020.        program check as an alternative to cold booting.)
  5021.  
  5022.      o If you are using a product which depends mostly on its scanner
  5023.        component, make sure that you always have the latest version.
  5024.        Scanners are often updated every 30 to 60 days.
  5025.  
  5026.      o Before you execute or install any new software, check it first.
  5027.        If it comes with an install program, check again after you
  5028.        install the software; an install program will frequently change
  5029.        or decompress executable programs.  After you first execute brand
  5030.        new software do an additional check of your system to make sure
  5031.        everything is as it should be.
  5032.  
  5033.      o If your product contains a scanner component, consider checking
  5034.        the boot sector on all diskettes brought in from another location
  5035.        -- EVEN DATA DISKETTES!  Inevitably someone will leave one of
  5036.        these diskettes in their A drive, potentially spreading a boot
  5037.        sector virus.
  5038.  
  5039.     Integrity Master (tm)          -109-        Data Integrity and Viruses
  5040.  
  5041.       (Note: pages 103 to 108 are not included in this file.)
  5042.  
  5043.       CHAPTER SEVEN - HANDLING A VIRUS ATTACK
  5044.       ____________________________________________________________________
  5045.  
  5046.  
  5047.      DON'T PANIC
  5048.  
  5049.      Don't do anything rash if you suspect a virus attack.  Be
  5050.      skeptical, there are quite a few practical joke programs that
  5051.      behave exactly like viruses.  There's even a virus simulator that
  5052.      simulates the Ping Pong (bouncing ball), Jerusalem (black hole),
  5053.      Cascade (falling letters on the screen), Yankee doodle (music) and
  5054.      a few other viruses.  It's perfectly harmless, but it has alarmed
  5055.      many people.  Don't do anything drastic until you confirm that it
  5056.      really is a virus.
  5057.  
  5058.  
  5059.      REPORT THE ATTACK
  5060.  
  5061.      Report the virus attack to the police or to a virus researcher or
  5062.      anti-virus developer.  We need to stop sweeping this under the rug.
  5063.      If we can track where viruses first get started, then maybe we can
  5064.      apprehend the culprits who are writing and distributing these
  5065.      things.
  5066.  
  5067.  
  5068.      PLAY DETECTIVE
  5069.  
  5070.      It is very important that you track down how you got the virus.  If
  5071.      you got it from someone's software, it's vital that they be
  5072.      notified.  The sooner these viruses are detected, the less damage
  5073.      they can do.
  5074.  
  5075.      Suppose you have indications of a virus, but your software doesn't
  5076.      identify it as a known virus.  What do you do?  First, cold boot
  5077.      (press the red reset button or power off and back on) from a known
  5078.      good write-protected copy of DOS on a diskette.  Run a full
  5079.      integrity check. Run CHKDSK and print the results.  Now execute any
  5080.      suspect programs.  Execute them several times.  Viruses may wait
  5081.      for some trigger event to begin infection.  Run CHKDSK again to see
  5082.      if the amount of free memory has been reduced.  This is a sign of a
  5083.      virus going resident in memory.  Now cold boot again and rerun an
  5084.      integrity check.  Repeat this cycle with the various suspect
  5085.      programs.  This should track down the guilty program if you've got
  5086.      one.
  5087.  
  5088.      Keep in mind that if it's a virus, it will modify other programs
  5089.      and those programs should themselves further modify other programs.
  5090.      By executing the modified programs, it's possible to tell whether
  5091.      you really have a virus or you just have a buggy program that is
  5092.      accidentally writing to other programs.
  5093.     Integrity Master (tm)          -110-        Data Integrity and Viruses
  5094.  
  5095.      CLEAN HOUSE
  5096.  
  5097.      Follow these steps when removing a virus from your PCs:
  5098.  
  5099.      o Cold boot (Power off and on or press the reset button) from a
  5100.        known good write-protected copy of DOS.
  5101.  
  5102.      o Delete all infected files.
  5103.  
  5104.      o Reload any infected system sectors.  If you do not have a utility
  5105.        to reload the DOS boot sector, you can use the DOS "SYS" command
  5106.        after cold booting from a write-protected diskette (e.g., "SYS
  5107.        C:").
  5108.  
  5109.      o Rerun a full integrity check, or at least a scan if you don't
  5110.        have an integrity checker.
  5111.  
  5112.      o Check any floppies that may have been infected. Remember, if you
  5113.        have a system sector virus such as Stoned, Joshi or Brain, even
  5114.        empty data diskettes can be infected.  Check them all.
  5115.  
  5116.      o Notify any other PC users you have contact with to check their
  5117.        PCs.
  5118.  
  5119.  
  5120.      GUARD THE HOUSE
  5121.  
  5122.      Virus infections return in a very high number of cases.  This is
  5123.      usually because somewhere there is an infected file or diskette
  5124.      that was missed in the first cleaning.  Run your integrity checker
  5125.      or antivirus program daily, for the next month, to catch a possible
  5126.      repeat infection.
  5127.  
  5128.  
  5129. This file is a portion of the book "Defeating Viruses and Other Threats
  5130. to Data Integrity" that accompanies the registered version of Integrity
  5131. Master. All portions of this file are copyright by Stiller Research
  5132. (1990-1997) and no portion of this text may be used or quoted without
  5133. written permission from Stiller Research.
  5134.  
  5135.